対応手順解説「サイトに重大なエラーがありました」

広告WordPress・PHP を学べる本

Amazonのアソシエイトとして、WordPress functions.phpは適格販売により収入を得ています。

概要説明

カスタマイズや各種WordPressの更新、環境が変わった際などエラーとなりサイトが表示できない状態になります。私が行っている対応手順についてまとめてみました。

作業はFTPクライアントを使って行うことをおすすめ致します。

各種作業の際には必ずバックアップを行って下さい。

ファイル修正後にエラーが発生するようになった場合(カスタマイズなど)

functions.phpなどを修正して反映後にエラーが表示されるようになった場合は修正前のファイルをアップロードし直して下さい。

path
/wp-content/plugins/該当プラグインのディレクトリ

どのプラグインが原因か特定できている場合は該当プラグインのディレクトリを削除してサイトにアクセスしてみて下さい

プラグインアップデートの際にはまとめて更新を行わず1件完了してから次のプラグインを更新する習慣にしておくと特定が行いやすいです。

デバッグモードを有効にしてエラーをログに書き出す ( wp-config.php )

wp-config.php
// wp-config.php の修正(元からある define( 'WP_DEBUG', false ); の行を書き換える。同じ定数を 2 回書かない)
define( 'WP_DEBUG', true );          // デバッグ機能 有効
define( 'WP_DEBUG_LOG', true );      // エラーを wp-content/debug.log に書き出す
define( 'WP_DEBUG_DISPLAY', false ); // 画面には出さない(サーバーのパスなどを訪れた人に見せない)
@ini_set( 'display_errors', 0 );

この設定でサイトにアクセスすると、エラーの内容が wp-content/debug.log に書き出されます(画面には出ません。画面に出すと、エラーの文にサーバーのパスなどが表示され、訪れた人にも見えてしまいます)。FTP で debug.log をダウンロードし、「PHP Fatal error」の行のファイル名と行番号から原因を探します。原因が分かったら WP_DEBUG を false に戻し、debug.log も消してください。debug.log は URL で外から読めることがあるので、残す場合は下の .htaccess で読めないようにします。

.htaccess
<Files debug.log>
    Require all denied
</Files>

PHPのバージョン変更の可能性がないかを検討

レンタルサーバー側の仕様変更でPHPのバージョンが変わってしまったというパターンも過去にあったのでレンタルサーバー側のお知らせも確認してみましょう。

コンテンツのバックアップから復元

ここまでの対応で解決しない場合はコンテンツのフルバックアップから復元を行います。

バックアップもなく、解消もできない場合

専門の方に作業を依頼されることをおすすめ致します。

関連機能

  1. Warning: call_user_func_array() expects parameter 1 to be a valid callback, function ‘xxx̵…

  2. TCD テーマのページビルダーの中身が消えたときの原因と戻し方(リビジョンから page_builder をコピーする)

  3. 自動記事作成でスラッグが重なったときの対応:カスタマイズで作った自動投稿で、同じ URL の記事が見えなくなっていた

サイドバー

よく使うカスタマイズ

最近の記事

Profile

PAGE TOP