PHP プログラムの実行時に次の警告が表示された場合: 「警告: ヘッダー情報を変更できません - ヘッダーは既に .... によって送信されました。」
以下のユーザー投稿に基づくいくつかのメモ:
いくつかの解決策があります:
1. 空白行:
呼び出し元の php スクリプトの の後に空行がないことを確認してください。
の後に空行がないこと、特に include ファイルや require ファイルがないことを確認してください。多くの問題は、これらの空白行によって引き起こされます。
ヘッダーステートメントの後に exit を使用すると、一部の人に役立つようです
ヘッダーの後に exit();
を追加します
ヘッダー ("場所: xxx");
exit();
echo "<script> self.location( file.php );</script>";
これはスクリプトであるため、Javascript が実行されるまでヘッダーは変更されません。
ヘッダーの代わりにJavaScriptを使用することもできます。また、この方法を使用するには、ブラウザが Javascript をサポートしている必要があることにも注意してください。
3b. 出力バッファリングを使用する (出力バッファリングで解決):
...PHP コード ...
header ("場所: ....");
ob_end_flush();
?>
別の記事
echo "ユーザー名は:".$HTTP_COOKIE_VARS["ユーザー名"]."n";
echo "ユーザー名は:".$_COOKIE["ユーザー名"]."n";
print_r($_COOKIE);
?>
警告: ヘッダー情報は変更できません - ヘッダーは既に送信されています。エラーの理由
phpプログラムの先頭に追加しました
header("キャッシュ制御:キャッシュなし、再検証が必要");
にありました。 Output_buffering のデフォルトはオフです。
ヒント: より良い解決策は、php.ini で Output_buffering を on [...] に設定することです。そうすれば、この種の問題は発生しなくなります。
http://www.bkjia.com/PHPjc/632112.html