ワードプレスで突然「このサイトで重大なエラーが発生しました」と表示される場合にその内容を調べる方法を解説いたします。

このサイトで重大なエラーが発生しました は何を意味する?

このエラーが表示された場合、ワードプレスに含まれる、PHPプログラムファイルのどこかに、何らかの不正なコードが含まれていて処理が中止された、もしくはサーバーのメモリが足りなくなった問題であることが多いです。

いずれにせよ、エラーの内容をまず調べないと解決方法の糸口がつかめませんので、このエラーの内容を調べる方法を解説していきます。

重大なエラー の詳細を調べる

このエラーの内容を調べるには、FTPソフトウェアでサーバーに接続し、ワードプレスがインストールされているフォルダのwp-config.phpというワードプレスの設定ファイルの下記の部分

define('WP_DEBUG', false);

を下記のように書き換えます。

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY',true);
ini_set('display_errors',1);
error_reporting(E_ALL);

その後、サイトにアクセスしてみて、エラーの内容が出力されるかご確認ください。
例えば下記のようなエラーが出力されます。

Fatal error: require(): エラーの内容(英語) /エラーを出しているファイル名.php on line エラーを出している行

Fatal errorとは実行の継続が不可能なもっとも深刻なエラーという意味です。エラーを出しているファイルや、エラーの内容が出力されます。

エラーが出力されない場合

それでもエラーが出力されないサーバーもございます。
この場合、FTPソフトウェアでサーバーに接続し、wp-contentフォルダにdebug.log というファイルが生成されていないかをご確認ください。
前述の define(‘WP_DEBUG_LOG’, true); という設定によりエラーのログを生成する機能を有効にしているため、debug.logファイルにエラー内容が出力されているかと存じます。
このファイルをダウンロードしてテキストエディターで開くとエラーの内容が表示されます。

debug.logが生成されない場合

この場合、wp-contentフォルダの書き込み権限の問題でファイルを書き込めない場合がございます。FTPソフトウェアでサーバーに接続しwp-contentフォルダ の書き込み権限を可にして再度エラー出しをし、確認されてみてください。

その他エラー出力もされず、debug.logも生成されない原因には下記のようなものがございます。
・サーバーの設定側でエラー出力が不許可にされていてそちらが優先されている
・HTACCESSの問題など、かなり初期段階で出るエラーである為、debug.log書き出しがワードプレスができない

最後に

ワードプレスのエラーが確認された後は、セキュリティー上の観点から、設定を元に戻し、生成されたdebug.log ファイルは削除しましょう。

wp-config.phpの書き換えたところを↓に戻します

define('WP_DEBUG', false);

WordPress ワードプレスドクターワードプレスのエラーの修正のご依頼・ご相談はWPドクターまでお気軽にお送りください