デバッグモードでサイトのエラーを確認する

wordpress

サイトを構築していたらバグッた、アップデートしたら処理が機能しなくなった。
でもどこがマズイのか良く分からない。よくある事です。
そんな時に便利なのがデバッグモードです。

デバッグモードにする方法

エラーをブラウザ上に表示する

wp-config.phpのWP_DEBUGをtrueに修正します。

修正前

/**
 * 開発者へ: WordPress デバッグモード
 *
 * この値を true にすると、開発中に注意 (notice) を表示します。
 * テーマおよびプラグインの開発者には、その開発環境においてこの WP_DEBUG を使用することを強く推奨します。
 */
define('WP_DEBUG', false);

修正後

/**
 * 開発者へ: WordPress デバッグモード
 *
 * この値を true にすると、開発中に注意 (notice) を表示します。
 * テーマおよびプラグインの開発者には、その開発環境においてこの WP_DEBUG を使用することを強く推奨します。
 */
define('WP_DEBUG', true);

これでブラウザ閲覧時にエラーが表示されるようになります。

エラーをログファイルに出力する

上記のやり方では本番系だとユーザーに対してもエラーが表示されてしまうので好ましくないですね。 そんな時には同じくwp-config.phpを修正し、エラーログをログファイルに出力するよう設定しましょう。

修正前

define('WP_DEBUG', false);

修正後

define('WP_DEBUG', true);
if (WP_DEBUG) { // デバッグモードの時だけ
// /wp-content/debug.log にエラーを出力
  define('WP_DEBUG_LOG', true); 
// ブラウザ上にエラーを表示しない
  define('WP_DEBUG_DISPLAY', false);
  @ini_set('display_errors',0);
// JavaScript、CSSのコアファイルを変更してる場合(していないなら不要)
  define('SCRIPT_DEBUG', true);
}

ただしエラーログをファイルに出力し続けるとログが肥大化し続けるので、調査時にのみ設定して戻すか定期的に削除などの対応を行いましょう。

デバッグモードのメリット

気付かないエラーを含めて通知してくれる

一見問題なく動いているのに実はエラーを吐いているなんて事はよくあります。 構築時にはもちろん、運用時にも定期的にデバッグモードで何か起こっていないか調べておきましょう。

非推奨の機能を教えてくれる

WordPressはヴァージョンアップに際して、機能が非推奨になる事があり、デバッグモードはそういったものについても通知してくれます。 非推奨の機能は正式にサポートされていない機能であり、訳の分からない挙動をしたりセキュリティホールになったりと使用は好ましくありません。 WordPressやプラグインなどを更新した際にも見ておいた方がいいでしょう。

アマルウェブ HOME