PR

【WordPress】PHPを更新したら管理画面に入れなくなった…汗

wordpress
スポンサーリンク

WordPressの管理画面に「PHP更新」と表示されたという方から、PHPを更新してWordPressの管理画面に入ろうとしたら、画面に「サイトが動作していません」と表示され入れなくなったと問い合わせがありました。

スポンサーリンク

PHPを更新したらWordPressの管理画面が開かず、「サイトは動作していません」と出た

サーバーの管理画面からPHPを元のバージョンに戻してみる

WordPressの管理画面(ダッシュボード)に入れず、「サイトが動作していません」と出ているとのことでしたので、原因を切り分けるため、サーバーのPHP設定画面を開いていただき、元のバージョン(7.4)に戻していただいて、管理画面にログインできるかを確認いただきました。

とりあえず、WordPressの管理画面を開くことができたのでテーマやプラグインがPHPの新しいバージョンに対応しているかをチェック

この方が利用されているサーバーはロリポップ!だったので、ロリポップ!の管理画面を開いてもらい、PHPを元に戻してもらってから、WordPressの管理画面にログインするページを開くことができるかやってもらったところ、無事、ページを開くことができました。

Just a moment...

PHPの更新に失敗するとき、考えられるのがWordPress・テーマ・プラグインがPHPの新しいバージョンに対応していない場合。

WordPressのバージョン、テーマそれぞれのサイトを確認したところ、PHP8.3に対応しているようです。となると、プラグインが原因か…。

プラグインのPHP対応状況を調べるにはプラグインを使う方法があるようですが、数が少なかったのでプラグインの「詳細を表示」をクリックして、PHPの対応状況を確認したところ、1つ更新が数年前のものがあったので無効化してみて、サイトに影響がないか確認して、再度PHPを更新してみました。

まだ「サイトが動作していません」と出てWordPressの管理画面へのログインページが表示されません。ということはこのプラグインじゃないのか…。

サーバーのphp.ini設定でエラーメッセージを表示するよう設定してみる

さて困ったぞ…、何が原因で「サイトが動作していません」と表示されたのかが分かれば…と考えていると、思い出したことがありました。確か、ロリポップ!にはphp設定という画面の中に「エラーを画面に表示する」機能があったはず…。

調べると、PHPのモジュール版ではphp.iniの設定を変更できないのですが、CGI版ならphp.iniの設定が変更できるとあります。この方は、CGI版を使われていたので、php.iniが設定できます。

PHPを最新のものに更新した状態で、WordPress管理画面に「サイトが動作していません」と表示されたのを確認後、ロリポップ!の管理画面を開いてもらい、「サーバーの管理・設定」をクリック、「PHP設定」をクリックしてPHP設定の画面を開いてもらいました。

該当のドメインの右側に出ている「設定」ボタンをクリック、

php.ini設定の画面が開いたら画面を少しスクロールしてもらって「display_errors」の▼をクリック、「ON」をクリック、画面一番下にある「php.iniを設定」ボタンをクリックします。

これで、エラーが起きているページを開くと画面上部にエラー内容が表示されるようになります。

念のため、www付きのほうのドメインのphp.iniも同様の操作を行いました。

エラーメッセージを確認できたが対処法が分からなかったのでチャットに投げてみる

5分ほど経過してから、「サイトが動作していません」と表示されているWordPressの管理画面を再読み込みすると、画面上部にエラーメッセージが出ています。

どうやらwp-config.phpで不具合があるようなのですが、何かまでは特定できず。

ここで、もうひとつ思い出したのがロリポップ!のサポートにあるチャット。チャットにこのエラーメッセージをコピペしてみたら原因が分かるのではないだろうか…。

ロリポップ!の管理画面の左側にある「サポート」をクリック、チャットで質問ボタンをクリック。
チャットを開いてもらって出てきたエラーメッセージをコピペしてもらったところ、すぐに原因が特定されました。

ロリポップ!のチャットはAI回答。こんなに早く回答が出てくるとは思いませんでした(初めて使った)。

wp-config.phpに全角シングルクォーテーションが入っていた

結果は、wp-config.phpの中に一部全角のシングルクォーテーションが入っているため、エラーが起きているという内容でした。

チャットメッセージに出ているコードをコピーしてもらい、ロリポップ!の管理画面からFTPにログイン、wp-config.phpを開いて該当部分(どこと指定があったので)にコピーしたコードを貼り付け、上書き保存してもらいました。

「サイトが動作していません」と表示されたWordPressの管理画面のページを再読み込みしていただいたところ、管理画面にログインするページを表示することができ、管理画面にログインすることができました。

ロリポップ!のphp.ini設定にあるdisplay_errorsをオンにしているとセキュリティ上よろしくないので、エラーが解決できたら即座にdisplay_errorsをオフにしておきましょう。

スポンサーリンク

今回は、WordPressのダッシュボードに「PHPの更新が必要」と出たのでサーバーでPHPを更新したらWordPressの管理画面にログインするページに「サイトが動作していません」と出てログインできなくなったという件でした。

結論は、wp-config.phpに全角のシングルクォーテーションが入っていたため、だったのですが、サーバーのphp.iniの設定からdisplay_errorsをオンにしたことで何が原因なのかを知ることができました。

この機能が他のサーバーにもあるかは分かりませんが、ロリポップ!にはあったのでWordPressでログインできないなど不具合が発生したときは、display_errorsをオンにすると原因が分かると思います。

また、ロリポップ!の管理画面のサポートから利用できるチャットにエラーメッセージをコピーして貼り付けてみると原因と対処方法が分かるかもしれません。AI回答、凄いですね。

タイトルとURLをコピーしました