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 を使用するコンテキストでこの問題を解決する方法
- ホスティング コントロール パネルの PHP 設定でエラー表示を無効にします。 PHP 設定にアクセスできない場合は、ホスティング プロバイダーに問い合わせてください。
- Hardening 管理ページの WP Cerber 設定で表示される PHP エラーを無効にします。
- WP Cerber のメイン設定で、「セキュリティ エンジンのロード」を「標準モード」または「拡張モード」に設定します。
- wp-config.php ファイルでWP_DEBUG定数が定義されているかどうかを確認します。 2 つのスラッシュで行をコメント アウトする//または、行全体を削除します。これはどのように見えるべきかです:
// define( 'WP_DEBUG', true );
// define( 'WP_DEBUG', 1 ); - wp-config.php ファイルの先頭に次の行を追加します。
@ini_set( 'display_errors', 0 );
@ini_set( 'log_errors', 1 );
WP Cerber または WordPress が問題の原因である可能性はありますか?
いいえ。この問題を引き起こす唯一のコードは、古い/バグのあるプラグインまたはアクティブなテーマです。根本原因を見つける方法は?サーバーエラーログを確認してください。また、古いプラグインは削除してください。