この問題のトラブルシューティングと解決のためにできることは次のとおりです:
指定された行を確認(rèn)してください: 警告メッセージには、出力が /some/file.php の 12 行目から始まっていることが示されており、オンラインになっています。 23 ヘッダー情報(bào)を変更してみます。これらの行に移動(dòng)し、23 行目の header() 関數(shù)呼び出しの前にスペース、echo、print、HTML、またはその他の出力がないことを確認(rèn)します。
先頭のスペースを削除する: 現(xiàn)在のファイルの前に PHP ファイルが含まれているか必須である場(chǎng)合 (例: include または require を使用)、これらのファイルの開始タグ <?php の前に先頭のスペースがないことを確認(rèn)してください。 。 PHP タグの外側(cè)の空白は出力とみなされ、この警告が発生する可能性があります。
PHP 終了タグを避ける: PHP コードのみを含む (HTML を含まない) PHP ファイルでは、通常、ファイル末尾の PHP 終了タグ (?>) を省略することをお?jiǎng)幛幛筏蓼?。これにより、出力のトリガーを避けるために、終了タグの後に予期しないスペースや文字が含まれないようになります。
出力バッファリングを使用する: header() 呼び出しの前に避けられない出力がある場(chǎng)合 (ライブラリの依存関係や條件ステートメントなどにより)、出力バッファリングを使用して出力をキャプチャし、出力がサーバーに送信されるのを防ぐことができます。すぐにブラウザ。 PHP スクリプトの先頭で ob_start() を使用して出力バッファリングを開始し、 header() 呼び出しの前に ob_end_flush() または ob_end_clean() を使用して出力バッファリングを終了します。
出力バッファリングの使用例: