PHP開発中、ヘッダー関数は、リダイレクト、コンテンツタイプ、キャッシュコントロールなどのHTTPヘッダー情報を設定するためによく使用されます。ヘッダー関数は応答のHTTPヘッダー情報に直接影響するため、デバッグ中に正しく出力することを確認することが重要です。ブラウザの開発者ツールを介して、ヘッダー機能が正しく出力されているかどうかを効果的に確認できます。
この記事では、ブラウザ開発者ツールを使用して、ヘッダー機能の出力が正しいかどうかを確認する方法について説明します。
まず、ヘッダー関数を使用して、PHPスクリプトを介してHTTPヘッダーを送信します。たとえば、ページリダイレクトにはヘッダーを使用します。
<?php
// 使用 header 関数はページリダイレクトを実行します
header('Location: https://m66.net/target-page');
exit();
?>
この例では、ヘッダーを使用して、ユーザーを新しいページにリダイレクトします。ヘッダー関数は、実行時に出力前に呼び出される必要があることに注意してください。そうしないと、「すでに送信されたヘッダー」エラーが発生することに注意してください。
ブラウザを開き、ヘッダー関数を含むPHPページをロードします。
F12を押し(またはページを右クリックして「チェック」を選択します)。開発者ツールを開きます。
「ネットワーク」タブに移動します。ここでは、サーバーを使用したすべてのネットワーク要求が表示されます。
開発者ツールの[ネットワーク]タブで、ページを更新します。サーバーと対応するHTTP応答でリクエストが表示されます。ここにいくつかの重要なポイントがあります:
リクエストリストにロードされたばかりのページリクエストを見つけます。リクエストをクリックして、リクエストの詳細を表示します。
リクエストの詳細では、[ヘッダー]タブに切り替えると、HTTP応答ヘッダーが表示されます。応答ヘッダーでは、ヘッダー関数を介して設定したコンテンツを含める必要があります。たとえば、リダイレクトの場合、ロケーションヘッダーは次のように表示する必要があります。
Location: https://m66.net/target-page
ロケーションヘッダーに加えて、応答のステータスコードも確認する必要があります。たとえば、リダイレクトの場合、サーバーは302の見つかったステータスコードを返す必要があり、ページが一時的にリダイレクトされていることを示します。 「ステータスコード」セクションでステータスコードを見ることができます。
Status Code: 302 Found
「ネットワーク」タブに予想されるヘッダー出力が表示されないことがわかった場合、それは次のとおりです。
出力のエラー:ヘッダー機能の前に、スペースやラインブレークを含むHTML出力がないことを確認してください。
キャッシングの問題:ブラウザキャッシュにより、古い応答が表示される場合があります。ブラウザでキャッシュをクリアしたり、「シークレットモード」を使用してページにアクセスしてみてください。
予想されるヘッダー情報が他の応答ヘッダーによって上書きされていることがわかった場合、PHPスクリプトの他のヘッダー関数が以前の出力を変更するためかもしれません。複数のヘッダーコールが競合していないことを確認してください。
ブラウザの開発者ツールを使用することにより、PHPスクリプトのヘッダー関数出力が非常に簡単であることを確認できます。ネットワークリクエストの応答ヘッダーを表示することにより、予想されるHTTPヘッダーが正常に送信されたことを確認でき、それにより問題をデバッグして解決できます。ヘッダー関数が期待どおりに機能していない場合は、出力順序、キャッシュ、および関数呼び出しの順序を確認してください。
この記事が、ブラウザ開発者ツールをより適切に使用して、PHPのヘッダー機能の出力をデバッグするのに役立つことを願っています。
関連タグ:
header