本番サイトにPHPの警告やファイルパスが表示されたら、内容を隠すだけでなく調査用の記録を残す必要があります。画面表示とログ記録は別の設定です。両方を無効にすると利用者からは見えなくなりますが、原因も追えなくなります。
基本は、利用者向け画面ではエラー詳細を表示せず、管理された保存先へ必要なエラーを記録することです。設定を変えた後は、管理画面の表示だけで判断せず、実際に有効な値とログの保存先を確認します。
表示・記録・報告対象は三つの設定に分かれる
display_errorsは、PHPのエラーを出力の一部として画面へ表示するかを制御します。PHP公式の実行時設定は、この機能を本番システムで使うべきではないと明記しています。本番ではOffを基準にし、ファイルパスや内部処理を訪問者へ見せない状態にします。
log_errorsは、エラーをサーバーのログやerror_logで指定した場所へ記録する設定です。PHP公式も本番では画面表示よりログ記録を強く推奨しています。display_errorsを無効にしただけでは、log_errorsが有効になったことにはなりません。
error_reportingは、どの種類のエラーを報告対象にするかを決めます。画面を消す目的で報告対象をゼロにすると、ログへ必要な情報も届きません。表示先と報告対象を分け、検証環境では広く検出し、本番では運用方針に沿ってログへ残します。
PHPファイル先頭の設定だけに頼らない
PHPの設定元にはphp.ini・サーバー管理画面・ディレクトリ単位の設定があります。アプリケーション内で実行時に変える場合もあります。どれが利用でき、どの値が優先されるかは実行方式と事業者によって異なります。Apache向けの設定例を、別方式のサーバーへそのまま入れてはいけません。
スクリプト内のini_set()は、その行が実行されてから値を変えます。PHP公式が説明するとおり、構文エラーなど実行前に止まる致命的な問題では間に合いません。本番全体の表示を確実に止める設定を、エラーを起こす可能性がある同じファイルだけへ任せない方が安全です。
設定変更後は、現在の実効値を管理画面や限定された診断手段で確認します。phpinfo()を公開したままにすると、環境情報を外部へ見せることがあります。確認用ファイルを使う場合はアクセスを制限し、作業後すぐ削除します。
ログの保存先と読める人を先に決める
error_logで保存先を指定しない場合、PHPの実行方式やWebサーバーが決めたログへ送られます。レンタルサーバーでは管理画面から見る構成もあります。ファイル名を決めただけで記録できるとは限らず、Webサーバーの実行ユーザーが書き込めることも必要です。
ログを公開ディレクトリへ置くと、URLを知る人が読める状態になる場合があります。公開領域外か、事業者が保護したログ機能を使います。ログにはファイルパス・入力値・メールアドレスが含まれる可能性があるため、閲覧者と保管期間も決めます。
容量上限とローテーションも確認します。エラーが繰り返されるとログが急増し、サイト用の保存領域を圧迫することがあります。記録できているかだけでなく、古いログの削除と容量警告まで運用へ含めます。
WordPressのデバッグ設定はPHP側と別に確認する
WordPressのWP_DEBUGやWP_DEBUG_DISPLAYは調査に役立ちますが、PHP全体の設定と同じものではありません。WordPress側で表示を止めても、テーマやプラグインの処理より前に起きたPHPエラーが別設定で表示される場合があります。反対に、PHP側を非表示にしてもWordPressのデバッグログ設定が残ることがあります。
本番で一時的にデバッグを使うなら、開始時刻・対象・保存先・終了条件を決めます。可能であれば検証環境で再現し、本番へ詳細表示を出さない方法を選びます。公開領域内のデバッグログはアクセス制御を確認し、調査後に設定と不要なファイルを戻します。
プラグインやテーマの更新で警告が出た場合も、表示を止めただけで解決とはしません。ログの時刻と直前の変更を照合し、互換性や設定の原因を修正します。非表示は利用者への情報露出を止める設定であり、プログラムの異常を直す設定ではありません。
画面とログの両方を確認して作業を閉じる
本番で意図的なエラーを発生させるテストは、業務データへ影響する可能性があります。まず検証環境で同じ設定を試し、画面に詳細が出ずログへ記録されることを確認します。本番では既存のエラー記録や安全な確認方法を使い、再現操作は必要最小限にします。
変更後は公開画面、管理画面、フォームなど異なる処理を確認します。白い画面へ変わっただけなら、表示は止まっても利用者向けのエラーハンドリングが不足しています。詳細を伏せた案内を返し、担当者には監視通知とログで知らせる構成を検討します。
作業記録には変更前後の実効値、設定元、ログ保存先を残します。閲覧権限・保持期間・確認時刻も引き継ぎに必要です。本番の基本設定は「エラーを見えなくする」ことではなく、利用者には内部情報を見せず、管理者が原因を追える経路を維持することです。