いつもブログをご覧くださいまして、ありがとうございます。Webの相談所・メンバーの浅川です。
弊社・Webの相談所は「Five for the Future」に参画しており、私・浅川は WordPress.org サポートフォーラム上に投稿される様々な質問への回答を行う活動を日頃から行っております。
その活動を通じて、ウェブの運用に欠かすことのできない知識をこちらのブログでご紹介させていただきます。
前回はアクセスログについて解説しましたので、今回は「WordPress のデバッグログの仕組み」についてです。
デバッグログとは?
デバッグログとは、WordPressの内部で発生したエラーや不具合の記録です。
プラグインやテーマの問題、PHPのエラーなど、サイトが正常に動作しない原因を特定するために使います。
普段は表示されませんが、wp-config.php で設定を有効にすると、エラーメッセージを記録するログファイル(debug.log)を作成できます。
デバッグログの仕組み
WordPressでは、以下の設定を wp-config.php に追加すると、デバッグログの記録が始まります。
define( 'WP_DEBUG', true ); // trueでデバッグモードをON、falseでデバックモードをOFF
define( 'WP_DEBUG_LOG', true ); // debug.logに記録
define( 'WP_DEBUG_DISPLAY', false ); // 画面にはエラーを表示しない
- WP_DEBUG:WordPressのデバッグモードをONにする
- WP_DEBUG_LOG:エラー情報を wp-content/debug.log に保存
- WP_DEBUG_DISPLAY:開発環境では WP_DEBUG_DISPLAY を true に設定する場合もあるが、本番環境では必ず false に設定する。
デバックログの確認方法
- FTP クライアントやサーバーのファイルマネージャーで wp-content/debug.log を探す。
- ファイルをテキストエディタで開き、エラー内容を確認する。
ログの基本的な読み方
各ログ行の構造:
- 日付と時刻: エラーが発生した日時。
- エラー種別:
Notice
(通知): 無視できる場合もある軽微なエラー。Warning
(警告): 無視すると問題が拡大する可能性があるエラー。Fatal error
(致命的なエラー): システムが動作しなくなる重大なエラー。
- エラーメッセージ: 何が問題かの説明。
- ファイルパスと行番号: エラーが発生した場所。
[日付 時刻] PHP Warning: メッセージ in /ファイル/パス.php on line 番号
[日付 時刻] PHP Fatal error: メッセージ in /ファイル/パス.php on line 番号
以下は例です。
[2024-11-29 12:34:56] PHP Warning: Undefined variable $foo in /var/www/html/wp-content/themes/my-theme/functions.php on line 42
解釈:
- 日付: 2024年11月29日 12:34:56
- エラー種別: Warning
- 問題: $foo という変数が未定義。
- 場所: functions.php の42行目。
まとめ
こんなとき、デバッグログを確認してみてください。
- プラグインを更新したら、サイトが真っ白になった → debug.log をチェック
- テーマをカスタマイズしたらエラーが出た → debug.log でエラーメッセージを確認
- 特定のページだけ表示が崩れる → PHPの警告をチェック