前回実施した「PHPのアップデート」後に当サイトのWordPressで発生したエラー「このサイトで重大なエラーが発生しました。」の対処についての備忘録です。
◆エラーログ取得
WordPressのサポートドキュメントにWordPressでのデバッグ「デバッグのための wp-config.php 例」にあるとおり修正・追加をし、エラーログを取得できるようにします。
・設定ファイル変更
# cd /var/www/wordpress # vi wp-config.php ~ 中略 ~ // WP_DEBUG モードを有効化 define( 'WP_DEBUG', true ); // /wp-content/debug.log ファイルへのデバッグログの出力を有効化 define( 'WP_DEBUG_LOG', true ); // エラーと警告の画面への表示を無効化 define( 'WP_DEBUG_DISPLAY', false ); @ini_set( 'display_errors', 0 ); /* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */
1行目:WordPressのディレクトリに移動
2行目:「wp-config.php」ファイルを編集
・ログファイルの確認
ブラウザでページを表示や更新し、エラーが吐き出されると、ログが「wp-content」ディレクトリに「debug.log」ファイルが作成されて書き込まれますので、ログファイルの内容を確認します。
・ログファイルの構成
エラーコードの構成は、次のようになっています。
エラー種別・重要度:エラー詳細 in エラーファイル on line 行番号
「エラーファイル」の「行番号」の行に「エラー詳細」が原因となるエラーを確認します。
・エラー対処
非推奨(Deprecated)関数エラーが多く出力されている中に重大なエラーが混在しているのを探し出し、対処します。
エラーの原因も様々なものがあると思います。
それらは、対処法や原因を検索などを特定して潰していきます。
私の場合、前回の記事「PHPのアップデート」時にも書きましたが、エラーログにある特定のプラグインのディレクトリ名があったので、そのプラグインを無効化したところ「このサイトで重大なエラーが発生しました。」が出なくなり、正常にサイトが表示されるようになりました。
その後、原因を特定するためにプラグインに関して検索したところ、アップデート後のPHPのバージョンでは、使用不可となっているのが判明しました。
プラグイン自体のアップデートもされていない状態だったので、代替となる同様のプラグインを探して使用しています。
・エラー対処後
エラーログは、当然対処されたものについては出力されなくなりますが、他にも非推奨関数エラーや注意など沢山出力されているかもしれません。
エラーログファイル「debug.log」へは、サイトが表示される都度出力されています。
有効化にしたままだとエラーログのデータ容量が肥大化していきますので無効化にするか、有効化し続けるのであればログローテートなどを別で考えていく必要があるかと思います。