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