#この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター無効な php ヘッダーの解決策: 1. 場所と「:」記号の間のスペースをキャンセルします。 2. ヘッダーを使用する前に出力があってはなりません。 3. php.ini を変更してキャッシュを開き、「output_buffering=」を変更します。 0"は409に変更されます。
問題の解決方法PHPヘッダーの失敗ですか?
PHP ヘッダー障害の原因分析と解決策
PHP で header("location:test.php") を使用する お支払いくださいジャンプするときは次の点に注意してください:
1. location と ":" 記号の間にスペースを入れることはできません。スペースを入れないとエラーが発生します。 2. ヘッダーを使用する前に出力を行うことはできません。また、インクルード ページのタグ "?>" の後にスペースを入れてはいけません。 ! 3. ヘッダー以降の PHP コードも実行されます。#続き:
問題: ヘッダー関数の前にコンテンツを入力してください一般的にhtmlコンテンツはheader関数より前に出力することはできません。同様にsetcookie()関数やsession関数などもあり、これらの関数は出力ストリームにメッセージヘッダ情報を追加する必要があります。 header() が実行される前に echo などのステートメントがある場合、後で header() が発生したときに、「警告: ヘッダー情報を変更できません – ヘッダーは既に…によって送信されました。」エラーが報告されます。つまり、これらの関数の前にテキスト、空白行、復帰などを置くことはできず、header() 関数の後に exit() 関数を追加するのが最善です。たとえば、次の誤った記述では、2 つの PHP コード スニペットの間に空白行があります。
//ここに空白行が必要です
原因: PHP スクリプトの実行が開始されると、http メッセージ ヘッダー (タイトル) 情報と本文情報を同時に送信できます。http メッセージ ヘッダー (header() または SetCookie() から)関数) はすぐには送信されず、代わりにリストに保存されます。これにより、デフォルトのヘッダー (Content-Type ヘッダーなど) を含むヘッダー情報を変更できます。ただし、スクリプトがヘッダー以外の出力 (例: Content-Type ヘッダー) を送信すると、 HTML または print() 呼び出しを使用する)、PHP は最初にすべてのヘッダーを送信し、次に HTTP ヘッダーを終了する必要があります。その後、本文データの送信を続けます。この時点から、ヘッダー情報を追加または変更する試みは許可されず、上記のエラー メッセージのいずれかが送信されました。
解決策: php.ini を変更してキャッシュ (output_buffering) を開き、output_buffering=0 をoutput_buffering=4096
に変更します。または、プログラム内でキャッシュ関数 ob_start()、ob_end_flush() などを使用します。原則として、output_buffering が有効な場合、スクリプトが出力を送信するときに PHP は HTTP ヘッダーを送信しません。代わりに、この出力を動的に増加するキャッシュにパイプ処理します (集中出力メカニズムを持つ PHP 4.0 でのみ使用可能)。ヘッダーは実際には送信されないため、ヘッダーを変更/追加したり、Cookie を設定したりすることができます。すべてのスクリプトが終了すると、PHP は自動的に HTTP ヘッダーをブラウザーに送信し、出力バッファーの内容を送信します。
推奨学習: 「
PHP ビデオ チュートリアル以上がPHPヘッダーエラーの問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。