ホームページ >バックエンド開発 >PHPチュートリアル >PHP エラー 警告: ヘッダー情報は変更できません - ヘッダーはソリューションによってすでに送信されています

PHP エラー 警告: ヘッダー情報は変更できません - ヘッダーはソリューションによってすでに送信されています

PHPz
PHPzオリジナル
2016-06-13 13:49:311814ブラウズ

この記事では主に、PHP エラー「警告: ヘッダー情報を変更できません - ヘッダーは既に送信されています。必要な方は参照してください:

今日、次のコードをテストしたときにこのエラーが発生しました」 :

session_start();
$_SESSION['username']=$username;
echo "<script language=&#39;javascript&#39;>location.href=&#39;../admin.php&#39;;</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 関数が呼び出されるまで、データはクライアント ブラウザに送信されません。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。