Help
Posted By Gregory

PHP 警告: ヘッダー情報を変更できません


English version: PHP Warning: Cannot modify header information


PHP 警告: ヘッダー情報を変更できません。ヘッダーはすでに送信されています…

時々、このメッセージがサーバーのエラー ログに表示されたり、Web ページに表示されることがあります。これはイライラさせられるもので、メッセージに記載されている PHP スクリプトに何か問題があるように見えます。実際、このメッセージは別のスクリプト、プラグイン、またはテーマの問題 (バグ) を示しています。バグのあるプラグインを使用していて、通常はオンにすべきではないPHP エラーの表示がオンになっている場合、このメッセージが表示されることがあります。

このメッセージは、Web サイトの PHP コードの一部が出力を生成したときに表示されます。通常、この出力は PHP 警告メッセージであり、ユーザーのブラウザーに送信されて表示されることはありません。また、この出力は、Web ページのヘッダーが生成されてユーザーのブラウザーに送信される前に送信されます。Web ページのヘッダーは空の場合もあれば、Cookie などの追加情報を処理できる場合もあります。

ヘッダーが空であるかどうかに関係なく、ページ コンテンツの前に送信する必要があります。

バグのある WordPress プラグインが、他のプラグインがブラウザーにヘッダーを送信する前に PHP 警告を生成すると、 「PHP 警告: ヘッダー情報を変更できません。ヘッダーは既に送信されています…」というメッセージとともにサーバー エラーが発生します。

このようなメッセージは、どのスクリプトまたはプラグインがこのエラーを引き起こしたかを伝えないため、誤解を招く可能性があります。Web サーバーは、プラグインによって生成された出力にヘッダーが送信されていないことを検出すると、自動的にヘッダーを作成してブラウザーに送信します。そのため、このような動作を想定していない他のすべてのプラグインは、必要に応じてヘッダーを送信できません。

WP Cerber Securityの使用中にこの問題を解決する方法

  1. ホスティング コントロール パネルの PHP 設定でエラーの表示を無効にします。PHP 設定にアクセスできない場合は、ホスティング プロバイダーにサポートを依頼してください。
  2. 強化管理ページの WP Cerber 設定で PHP エラーが表示されないようにします。
  3. WP Cerber のメイン設定で、「セキュリティ エンジンの読み込み」を「標準モード」または「詳細モード」に設定します。
  4. wp-config.php ファイルでWP_DEBUG定数が定義されているかどうかを確認します。二重スラッシュ//で行をコメントアウトするか、行全体を削除します。次のようになります。
    // define( 'WP_DEBUG', true );
    // define( 'WP_DEBUG', 1 );
  5. wp-config.php ファイルの先頭に次の行を追加します。
    @ini_set( 'display_errors', 0 );
    @ini_set( 'log_errors', 1 );

WP Cerber または WordPress が問題の原因でしょうか?

いいえ。この問題を引き起こす可能性のある唯一のコードは、古い/バグのあるプラグインまたはアクティブなテーマのいずれかです。根本的な原因を見つけるにはどうすればよいでしょうか? サーバー エラー ログを確認してください。また、古いプラグインを削除してください。


I'm a team lead in Cerber Tech. I'm a software & database architect, WordPress - PHP - SQL - JavaScript developer. I started coding in 1993 on IBM System/370 (yeah, that was amazing days) and today software engineering at Cerber Tech is how I make my living. I've taught to have high standards for myself as well as using them in developing software solutions.

View Comments
There are currently no comments.