WordPress | 「重大なエラーが発生しました」に対する解決方法

WordPressのサイトにアクセスすると,「このサイトで重大なエラーが発生しました」という表示がされたので,今回こちらのエラー解決を以下に記す.

エラー内容

PHP7.3からPHP7.4への更新の際,誤ってPHP7.3を削除してしまった.PHP7.4のインストールに成功したが,WordPressには以下重大なエラーが発生してしまった.

今回,こちらのエラー解決を以下に記す.

なお,以下URLを参照にした.

Beginner’s Guide for WordPress | How to Fix The Critical Error in WordPress

エラー解決前にやること~バックアップ

こちらの記事より,FTP applicationであるFileZilla Clientを利用してWordPressが配置されているAmazon EC2に接続する.

この項目では,"wp-content"をバックアップするため,ローカルにダウンロードする方法を以下に記す.

以下画面の"Remote site"下のフォルダをダブルクリックすると,下のフォルダ階層に移動できる."/var/www/html"へ移動し,"wp-content"を1度クリックし,アクティブ(青く反転させる)にする.

“wp-content"フォルダを右クリックすると,以下画面が現れるので,"Download"をクリックする.クリックするとすぐにダウンロードが始まる.

ダウンロードが完了すると,ノートパソコン上の以下ディレクトリに"wp-content"フォルダが格納される.

次に記す解決方法が失敗した場合,この"wp-content"フォルダを利用して解決前に戻すことができる.

エラーの解決法1~プラグインの停止

操作には,以下URLを参照にした.

Amazon Lightsail | Amazon Lightsail ディストリビューションで動作するように WordPress インスタンスを設定する

以下Tera Termを開く.

以下画面に遷移するので,必要情報を記入し,"OK"をクリックする.

以下画面に遷移するので,必要情報を記入し,"OK"をクリックする.

以下画面が現れる.

以下コマンドを実行し,wp-config.phpを探す.

$ locate wp-config.php
/var/www/html/wp-config.php

以下コマンドで,wp-config.phpが含まれているディレクトリに移動する.

$ cd /var/www/html

以下コマンドで,wp-config.phpのバックアップを作成する.

$ sudo cp /var/www/html/wp-config.php /var/www/html/wp-config.php.backup

以下コマンドで,wp-config.phpを開く.

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

Iキーを押し,以下のように編集する.その後,ESCキーを押しVimの挿入モードを終了し,":wq!"によって保存し,終了する.

編集前:define( 'WP_DEBUG', false );
編集後:define( 'WP_DEBUG', true );

ブラウザからWordPressのログインページにアクセスすると,以下画面に変化した.

プラグインを停止するため,"plugins"フォルダの名前を"plugins.deactivate"に変更を試してみる.

そのため,FileZilla Clientから,以下のように"File permissions"を経て"rename"を試みたが,"permission denied"により変更できなかった.

そのため,Tera TermからSSHで接続し,以下コマンドを実行し,"wp-content"ディレクトリに移動する.

$ cd /var/www/html/wp-content/
[wp-content]$

その後,以下コマンドで"plugins"のディレクトリ名を"plugins.deactivate"のディレクトリ名に変更する.

[wp-content]$ sudo mv /var/www/html/wp-content/plugins /var/www/html/wp-content/plugins.deactivate

WordPressの画面に,エラーがなくなり,アクセス可能になった.

エラーの解決法2~テーマの停止

WordPressにアクセスすることはできたが,記事の内容を確認すると,以下のようにエラーが表示されている状態だった.

以下コマンドで"plugins.deactivate"のディレクトリ名を"plugins"のディレクトリ名に戻した.なお,ディレクトリ名を元に戻してもWordPressにアクセスはできる状態であったが,記事の内容は元に戻らなかった.

[wp-content]$ sudo mv /var/www/html/wp-content/plugins.deactivate /var/www/html/wp-content/plugins

上記でwp-config.phpの内容を変更していたので,以下のように元に戻した.

編集前:define( 'WP_DEBUG', true );
編集後:define( 'WP_DEBUG', false );

ブラウザからWordPressの記事にアクセスすると,エラー内容は出力されていなかったが,記事の内容は空白になっていた.

WordPressのThemeを,異なるThemeに変更すると,以下のように記事が元に戻った.

参照

トモヒログ | WordPress「重大なエラーが発生しました」と表示された時の対処法

AWS | チュートリアル: Amazon Linux 2 に LAMP ウェブサーバーをインストールする

Beginner’s Guide for WordPress | How to Fix The Critical Error in WordPress

one.com | How do I fix my broken WordPress site after updating PHP?

以上