WordPressのデバッグログ設定と確認方法

wp-config.phpの設定

WordPressのデバッグ機能を有効にするために、wp-config.phpに以下の設定を追加します:

デバッグモードを有効化
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

エラーの種類

1)自動的に出力されるログ

  • データベース接続エラー
  • PHP自体のエラー(Fatal Error, Warning, Notice)
  • WordPressコア、テーマ、プラグインからのエラー
  • データベースクエリエラー

2)error_log()による明示的なログ

error_log('カスタムメッセージ: ' . $変数);
  • 開発者が意図的に出力する情報
  • デバッグ目的のカスタムメッセージ
  • 特定の処理の実行確認

debug.logの権限確認と設定

SSHでサーバーに接続

WordPressのwp-content/フォルダで権限確認

# 現在の位置を確認し、wp-contentディレクトリに移動します
cd public_html/wp-content/

# wp-contentディレクトリ内のファイル一覧と権限を確認
ls -la wp-content

# 下記の出力

[xx@svxxx public_html]$ cd wp-content/
[xx@svxxx wp-content]$ ls -la
合計 244
drwxr-xr-x  8 [所有者] members    179  1月  5 20:55 .
drwx--x--x 18 [所有者] members   4096  1月  5 18:24 ..
-rw-r--r--  1 [所有者] members 226399  1月  5 21:15 debug.log
-rw-r--r--  1 [所有者] members     28  1月 26  2022 index.php
drwxr-xr-x  4 [所有者] members   4096  1月  5 17:42 languages
drwxr-xr-x 14 [所有者] members   4096  1月  5 20:48 plugins
drwxr-xr-x  5 [所有者] members    110  1月  5 20:55 themes
....

-rw-r--r-- → 644(読み取り専用)

この管理者権限の設定で

  • 所有者(6): WordPress(PHP)が書き込み可能
  • 閲覧者(4): 管理者やツールが読み取り可能
debug.log 644 所有者(6) 閲覧者(4) 書き込み 読み取り

もし権限がちがっていたら変更

# debug.logファイルの権限を変更(書き込み可能に)
chmod 666 wp-content/debug.log

ログの確認

tail -f debug.log    # リアルタイムで監視
# または
tail -n 50 debug.log # 最後の50行を表示

権限の見方:

4. ログファイルの確認方法

# ログファイルの内容を表示
cat wp-content/debug.log

# ログをリアルタイムで監視
tail -f wp-content/debug.log

デバッグ情報の出力方法

PHPファイルでログを出力する例:

// 基本的なログ出力
error_log('Debug message here');

// 配列やオブジェクトの内容を出力
error_log(print_r($variable, true));