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?
以上