この記事では主に、PHP エラー「警告: ヘッダー情報を変更できません - ヘッダーは既に送信されています。必要な方は参照してください:
今日、次のコードをテストしたときにこのエラーが発生しました」 :
session_start(); $_SESSION['username']=$username; echo "<script language='javascript'>location.href='../admin.php';</script>"; exit();
エラーが発生しました:
警告: ヘッダー情報は変更できません - ヘッダーは既に送信されています...
いくつかのメソッドを読んだ後オンラインでは解決されませんでした。最終的に、php.ini で Output_buffering をデフォルトの 4096 に設定したところ、このエラーは発生しなくなりました。
output_buffering 設定手順:
Off: をオフにすることを意味します。 PHP 出力キャッシュ
オン: 無限出力キャッシュを開きます
4096: 4096 バイトのサイズで出力キャッシュを開きます
デフォルトでは、php バッファーが有効であり、バッファーのデフォルト値は次のとおりです。 4096、つまり 4kb です。 Output_buffering 設定は php.ini 設定ファイルにあります。echo、print などでユーザー データを出力すると、output_buffering がいっぱいになるまで、データは php の out_buffering に書き込まれます。 。 見せる。 ob_start() を使用して php の出力バッファリングメカニズムを手動でアクティブにすることもできます。これにより、出力が 4kb のデータを超えた場合でも、ob_start() が php バッファスペースを次のように設定するため、データは実際には tcp に渡されず、ブラウザに渡されます。十分な大きさであること。スクリプトが終了するか、ob_end_flush 関数が呼び出されるまで、データはクライアント ブラウザに送信されません。