PHP が Cookie を保存できない問題が解決されました
今日、php プログラムで作業していましたが、突然問題が発生しました。つまり、Cookie がエラーなしで保存できないという問題が発生しました。検索したところ、次のような問題が見つかりました。
プログラムは Cookie を書き込むときに ?@setcookie ( "url", "http://www.my400800.cn") を使用するためです。 ", time()+3600*24, "/");
PHP の @ 記号と # 記号の意味
# コメント記号
// と同様に、# は単一行のコメント文字です (複数行のコメント文字は /* */)。
@setcookieを使用しているため、Cookie書き込み時にエラーが発生しても出力されず、問題を検出することができません。最後に、@setcookie を setcookie に変更すると、プログラムは次のエラー メッセージを出力します:
警告: ヘッダー情報は変更できません - ヘッダーはすでに送信されています (出力は
で開始されました)インターネットで検索したところ、cookie を設定する前に何も出力されないことがわかり、コードを確認したところ、setcookie を設定する前に何も出力されていないことがわかりました。具体的な内容は次のとおりです。以下のように:
?
今日、WordPress の中国語フォーラムにアクセスしました。フォーラムはあまり人気がありませんが、まだ多くのマスターがいます。プラグインやテンプレートを書ける専門家と、ファイル編集もできない初心者が混在するフォーラムです(笑)。
このエラーのように、いくつかの投稿で言及されている同じエラーを確認しました。「警告: ヘッダー情報を変更できません -
ヘッダーはすでに送信されています (出力は c:program で開始されました)
fileseasyphp1-8wwwp-config.php:1) c:program
fileseasyphp1-8wwwp-login.php 行 9"
これは非常に典型的な質問です。 WordPress プログラムが実行されると、最初に wp-config.php などの設定ファイルが呼び出され、さらに wp-db.php を呼び出してデータベース接続を確立します。
後で使用するために。これらのファイルはいくつかの設定を行うだけであり、HTML コードは出力されません。設定が完了すると、プログラム自体が実行を開始します。プログラムによっては、header コマンドを使用して HTTP ヘッダーを設定します。なぜなら
HTML コードが出力される前に HTTP ヘッダーを設定する必要があります。そうしないと、HTML コードはすでにクライアントへの送信が開始されており、HTTP ヘッダーはすでに送信されているため、戻ってリセットする方法はありません。
この問題は WordPress CodeX で説明されています:「送信済みのヘッダーを解決するにはどうすればよいですか?」
警告
問題?"。この記事では、各ファイル、特に頻繁に編集される wp-config.php ファイルが で終わることを確認してください。
その後に他の文字を置くことはできません。上記の例に特有のことですが、プロンプト メッセージでは、wp-config.php の最初の行が HTML 出力を開始することが示されており、これが を使用して wp-config.php ファイルを編集し、BOM の 3 文字の出力である UTF-8 でエンコードされたドキュメントとして保存した可能性が非常に高いです。ヘッダー コマンド の実行でエラーが発生しました
。
?
解決策
WordPress
中国のフォーラムには全文検索機能がなく、タイトルのみなので、Google で「ヘッダー情報を変更できない」を検索しました。
site:wordpress.org.cn を見ると、多くの人がこの問題に遭遇しているようです。現在皆さんが使用している WordPress は、主にオリジナルの英語版 WordPress といくつかの WordPress です。
WordPressの中国語版。私の中国語パッケージには wp-config-sample.php ファイルが含まれていないため、WordPress の元のバージョンでは ASCII が使用されています。
コードには当然 BOM が含まれていないため、このようなエラーは発生しません。xigang が作成した WordPress の中国語版が WordPress 中国語フォーラムで入手できるので、それをダウンロードしました。
Diandianyou の WordPress 2.0.4 と 2.0.3 を確認しましたが、問題はありませんでした。
2.0.4 中国語版では、wp-config-sample.php ファイルは GB2312 エンコードと DOS 行末を使用していますが、誰かがメモ帳を使用して変更した場合は問題ありません。
このファイルを使用すると、DOS の行末によって編集上の問題が発生することはなく、GB2312 エンコーディングによって BOM の問題が発生することもありません。
残念ながら、WordPress を使用してブログをホストしたい場合は、メモ帳を捨てて、UltraEdit または EditPlus をインストールしたほうがよいでしょう。
?
?