本記事ではwordpressで「このサイトで重大なエラーが発生しました。」と表示された場合の解決法を紹介します。
自分の場合、windowsPCで「このサイトで重大なエラーが発生しました。」と表示されてログインできなくなりましたが、macbookでは普通にログインできました。
そこで、macのwordpress編集画面からwordpress本体をダウングレードしたところ、エラーは解決しました。その後、wordpressを最新バージョンに戻しても、エラーは再発しませんでした。
例外的な解決法ですが、内容をまとめました。
トラブルの症状:「このサイトで重大なエラーが発生しました。」と表示され、wordpressの編集画面にログインできない
トラブルの症状
- WindowsPCでwordpressの編集画面にアクセスしたところ、「このサイトで重大なエラーが発生しました。」と表示され、ログインできなくなった。
- しかし、Macbookからだと通常通りにログインできた。
- windows OSのバージョン:Windows 10 Home 20H2、OSビルド:19042.1288
- mac OSのバージョン:
最初にトラブルの症状をまとめます。
いつも使っているwindowsPCで、wordpressの編集画面にアクセスしたところ、「このサイトで重大なエラーが発生しました。」と表示され、ログインできなくなりました。心当たりがなく、ある日突然に発生しました。wordpressの編集画面にログインできなくなることは最も危険度が高い現象です。バックアップもしていなかったので、かなり焦りました。
しかし、サブのmacbookでは通常通りにログインできるという症状でした。
WindowsPCだけがログイン不可の状態に陥りました。珍しい現象だと思います。
そこで通常通りにログインできるmacbookから復旧を試みました。作業手順をまとめると、以下のようになります。
今回の作業手順
- 契約サーバーからファイルマネージャーにアクセス
- ファイル「wp-config.php」を開く
- 『define( ‘WP_DEBUG’, false );』を『define( ‘WP_DEBUG’, true );』に書き換えて、wordpressをデバックモードに切り替える
- WindowsPCから編集画面にアクセスすると、エラーコード『Fatal error: Cannot redeclare retrieve_password()』が表示された
- しかし、エラーコードのわかりやすい解決法がネットで見つからなかった
- 通常通りにログインできるmacbookのwordpress編集画面にアクセス
- プラグイン「WP Downgrade | Specific Core Version」を使用して、wordpressをダウングレード
- WindowsPCからでも通常通りにログイン可能になった。
- wordpressの最新バージョンをインストールし直してもエラーは再発しなかった
- 最後にwordpressのデバックモードを解除して完了
wordpressをデバックモードに切り替えてエラーコードの確認をしました。エラーコードの解決法がネットで見つからなかったので、プラグイン「WP Downgrade | Specific Core Version」を使用して、wordpressをダウングレードしたら解決しました。
デバックモードに変更してエラーを調査する方法
WP_DEBUG WP_DEBUG
WP_DEBUG /en は WordPress を「デバッグ」モードに切り替える際に使用する PHP の定数 ( 永続的なグローバル変数 )です。デフォルトは false で、通常は WordPress の開発環境の wp-config.php ファイル内で true に設定します。
define( 'WP_DEBUG', true ); define( 'WP_DEBUG', false );
wordpressは「wp-config.php」を編集することでデバックモードにすることができます。
デバックモードでwordpressの管理画面にアクセスすると、エラコードが確認できます。
デバックモードにする方法は「wp-config.php」を開いて、『define( ‘WP_DEBUG’, false );』を『define( ‘WP_DEBUG’, true );』に書き換えます。
「wp-config.php」にアクセスするのは、FTPもしくは契約サーバーのファイルマネージャーからになります。私は契約サーバーにファイルマネージャーが存在したので、ウェブ上で編集できました。
個々の環境で編集方法が大きく変わるため、説明は割愛します。
エラー内容:Fatal error: Cannot redeclare retrieve_password()
wordpressをデバックモードに変更したあとで管理画面にアクセスすると、上記エラーが表示されました。
Fatal error: Cannot redeclare retrieve_password() が表示される理由として、「関数の二重定義」が原因だとされていますが、全く心当たりがありませんでした。
ネットを探してもわかりやすい解決法が見つからなかったので、windowsPCからの復旧は諦めました。
解決法|通常通りにログインできるmacbookからwordpressのバージョンをダウングレード
windowsPCではなく、通常通りにログインできるmacbookから作業をすすめることになりました。
macbookからwordpressの管理画面にアクセス。プラグイン『WP Downgrade | Specific Core Version』を使用して、wordpressのバージョンをダウングレード。
すると、WindowsPCのwordpress管理画面で発生していた『Fatal error: Cannot redeclare retrieve_password()』が消えて、通常通りにログインできるようになりました。
wordpressは動作がおかしくなったら、再インストールし直すと改善することが多いです。今回も結局、それで解決という流れになりました。
wordperssを最新バージョンに戻して、デバックモードも解除。動作が正常なことを確認して、作業は完了です。
まとめ|Windows PCだけでなくmacの環境があって助かった
今回はwordpress の管理画面で発生した「このサイトで重大なエラーが発生しました。」の例外的な解決法を紹介しました。
WindowsPCの環境でいきなりログインできなくなったのでビビりました。ただ、サブのmacbookで確認するとなぜか管理画面にログイン可能でした。
そのため、Wordpressをダウングレードして問題は解決。
しかし、エラーが出た原因はわからずじまいなので、Windows PCだけでなくmacbookがあって助かりました。
windowsかmacのどちらかの環境しかない場合で同様のエラーが出たとすると、wordpressの再インストールで改善すると思います。ですが、やり方が自分にはわかりませんので機会があれば調べてみたいと思います。
コメント