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にし、ログファイルに記録するだけにしてください。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ