2026年5月20日
2026年5月20日
WordPressでPHPエラーが表示される場合の解決方法【デバッグ完全ガイド】
はじめに
WordPressのサイトに突然PHPのエラーメッセージが表示される、または白い画面になってしまう。こういった場合、PHPエラーが原因です。エラーの種類(Fatal error・Warning・Notice)によって対処法が異なります。デバッグモードを有効にしてエラーの詳細を確認することが解決への近道です。
PHPエラーの種類
| エラー種別 | 重大度 | 表示 | 影響 |
|-----------|--------|------|------|
| Fatal error | 致命的 | 白い画面または赤いエラー | ページ表示が停止 |
| Parse error | 致命的 | 同上 | ページ表示が停止 |
| Warning | 警告 | エラーメッセージ表示 | 処理は続行 |
| Notice | 通知 | エラーメッセージ表示 | 処理は続行 |
| Deprecated | 非推奨 | エラーメッセージ表示 | 処理は続行 |
解決手順
ステップ1:デバッグモードを有効にする
本番環境でのエラー表示はOFFが推奨されますが、開発・トラブルシューティング時は有効にします。
wp-config.phpに以下を追加(または変更):
// デバッグモードを有効化(エラーをブラウザに表示)
define('WP_DEBUG', true);
define('WP_DEBUG_DISPLAY', true); // ブラウザにエラーを表示
// ファイルにエラーを記録(本番環境推奨)
define('WP_DEBUG', true);
define('WP_DEBUG_DISPLAY', false); // ブラウザには表示しない
define('WP_DEBUG_LOG', true); // /wp-content/debug.logに記録
デバッグモードを有効にするとエラーの詳細(ファイル名・行番号)が確認できます。
ステップ2:エラーの内容を読む
典型的なエラーメッセージの読み方:
Fatal error: Call to undefined function my_custom_function()
in /public_html/wp-content/themes/my-theme/functions.php on line 42
- エラー種別:Fatal error
- 問題:
my_custom_function()という関数が見つからない - ファイル:/wp-content/themes/my-theme/functions.php
- 行番号:42行目
ステップ3:原因ごとの対処法
プラグインが原因の場合:
Fatal error: ... in /wp-content/plugins/some-plugin/...
→ FTPでプラグインを無効化:
/wp-content/plugins/some-plugin/
→ /wp-content/plugins/some-plugin_off/
テーマが原因の場合:
Fatal error: ... in /wp-content/themes/my-theme/...
→ デフォルトテーマに切り替えるか、エラー行のコードを修正
functions.phpの構文エラー:
Parse error: syntax error, unexpected '}' in functions.php on line 25
→ functions.phpの指定行付近の構文を確認・修正
ステップ4:PHP設定を確認する
wp-config.phpまたは.htaccessでPHPバージョンの確認とメモリ制限を確認:
// wp-config.phpに追加
define('WP_MEMORY_LIMIT', '256M');
// .htaccessに追加(Apache)
php_value memory_limit 256M
php_value max_execution_time 300
ステップ5:PHPバージョンの互換性を確認
プラグインやテーマが現在のPHPバージョンに対応していない場合もエラーになります。
- ホスティングの管理画面でPHPバージョンを確認
- プラグインの対応PHPバージョンを確認
- PHPを下げる(例:8.2→8.1)で問題が解消するか確認
ステップ6:デバッグ後はモードをOFFに
本番環境でのデバッグ完了後は必ず無効化します:
define('WP_DEBUG', false);
WP_DEBUG_LOGのみ有効にしてログファイルに記録し続けることも有効です。
まとめ
PHPエラーの解決は①デバッグモードでエラー内容を確認→②エラーメッセージが示すファイル・行番号を特定→③プラグイン無効化またはコード修正の手順で対処します。本番環境ではWP_DEBUG_DISPLAYはfalseにし、ログファイルに記録するだけにしてください。
関連記事: