WordPressデバッグモードを有効にしてエラーを修正する方法


WordPressでデバッグモードを有効にしたり、Webブラウザに表示されるWordPressエラーに関する詳細情報を取得するにはどうすればよいですか?あなたがWordPressのユーザーまたは開発者であり、これらの質問をしている場合は、適切なリソースにたどり着きました。このガイドでは、WordPressのデバッグ機能を有効にする方法を説明します。

WordPressは、開発者と非プログラマーまたは一般ユーザーの両方に、利用可能な構成オプションを使用して有効にできるいくつかの強力なデバッグツールを提供します。これらのオプションを有効にすると、詳細なエラー情報が表示されるため、エラーをすばやく見つけて解決できます。

テスト目的でダミーサイトを設定しているときに発生した次のエラーの使用方法を示します。

このエラーを見ると、それに伴う情報はあまりありません。これには多くの原因が考えられます。データベースサーバーがダウンしているか、wp-config.php構成ファイルで定義されているデータベース接続設定(データベース名、データベースユーザー、ユーザーのパスワード)が間違っている可能性があります。

では、どうすれば上記のエラーに関する詳細情報を取得できますか? WP_DEBUG オプションは、WordPress全体で「 debug 」モードをアクティブにするPHP永続グローバル変数であるため、すべてのPHPエラー、通知、および警告がブラウザーに表示されます。

この「 debug 」機能はWordPressバージョン2.3.1で追加され、WordPressインストールで最も重要なファイルの1つであるwp-config.phpで構成されています。

デフォルトでは、「 debug 」機能はすべてのWordPressインストールでfalseに設定されています。 WP_DEBUGを有効にするには、trueに設定します。

まず、Webサイトのインストールディレクトリ(例:/var/www/html/mysite.com)に移動し、お気に入りのテキストエディタを使用してwp-config.phpファイルを開きます。

$ cd /var/www/html/mysite.com
$ sudo vim wp-config.php

この行を探してください。

define( 'WP_DEBUG',  false );

に変更します

define( 'WP_DEBUG', true );

ファイルを保存して閉じます。

これで、デバッグモードがトリガーされました。エラーが表示されたページをリロードすると、次のスクリーンショットに示すように、詳細なエラー情報が表示されます。

WP_DEBUGを拡張する追加のデバッグオプションがあり、プラグインやテーマ、またはその他のコンポーネントを作成するWordPress開発者にとって特に便利です。それらはWP_DEBUG_LOGとWP_DEBUG_DISPLAYです。

WP_DEBUG_LOGオプションをtrueに設定すると、デフォルトですべてのエラーが/ wp-content /ディレクトリ内のdebug.logログファイルに保存されます。これは、後の分析または処理に役立ちます。

define( 'WP_DEBUG_LOG', true );

ただし、カスタムログファイルを指定できます(例:/var/log/nginx/mysite.com_wp-errors.log :)。

define( 'WP_DEBUG_LOG', '/var/log/nginx/mysite.com_wp-errors.log' );

また、WP_DEBUG_DISPLAYは、デバッグメッセージをページのHTML内に表示するかどうかを制御します。デフォルトでは、trueに設定されています。無効にするには、falseに設定します。

define( 'WP_DEBUG_DISPLAY', false );

プラグインを使用してWordPressでデバッグモードを有効にする

共有ホスティングを使用している場合は、WordPressファイル(この場合はwp-config.phpファイル)を編集するためのサーバーバックエンドにアクセスできない可能性があります。

または、管理ダッシュボードから設定を変更したいだけの場合は、ツールバーを1回クリックするだけで、管理ダッシュボードからWP_DEBUGを簡単に有効/無効にできる「デバッグバー」と呼ばれるプラグインをインストールして使用できます。

このプラグインのキラー機能は、フェイルセーフで巧妙であり、エラーが発生した場合に自動的にWP_DEBUGモードを終了することです。

参照:WordPressでのデバッグ。