ブログAで問題が発生していました。
以前サーバーのPHPを最新バージョン(PHP7.4.13)にしたらWordPressが開かなくなってしまったので、7.2.34にバージョンダウンして使用していました。
ダッシュボードに更新しなよというメッセージが出てきたので、時間のある日に対処し解決することにしました。
この対処方法をシェアします。
表示されるメッセージ
PHPの更新を推奨
WordPressのダッシュボードにこのメッセージが登場しました。
そういえば以前PHPをバージョンアップするしたらエラーが出たのでそのままにしていたんでした。
この時点でのPHPは7.2.34でした。
データベース接続エラー
そしてこれをPHP7.4.13にするとWorkPressにこのメッセージが出て開かなくなります。
バージョンを元に戻すサイトは開きます。
明らかに原因はPHPのバージョンだと思いますので対処法を探します。
データベースにログインできないから起こるエラー
どうやら「データベース接続エラー」がでるのは「MySQLのデータベースにログインできないから」というのが原因らしいです。
パスワードを変更したけど、WordPressの方でパスワード情報を変更してないからデータベースにログインできないということがよくある原因のようです。
この場合はwp-config.phpのPWを書き換えればいいようです。
/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'abcd****');
しかし今回はデータベースは何もいじっていない。
私のサイトにはまた別の問題が起こっているようです。
DBのパスワードではなくバージョンの問題のよう
ということで色々調べましたが、いまいち自分と同じ状況の人はいない。
このブログAは結構昔に作ったやつで、アップデートにアップデートを重ねてやってきました。
それと昨年立ち上げたブログBのデータベースを比べてみました。ブログBは問題なく最新VerのPHPで動いているからです。
そして色々見ているとブログAのDBはMySQLも5.5でブログBのDBはMySQL5.7になっていることに気づきました。
ということで「データベースをアップデートすればきっと動くのではないか」という仮説が立ちましたのでやってみます。
このアップデートの方法はお使いのサーバーで異なると思いますが、このブログAの置いてあるStarServerでは以下の通りでした。
データーベースをMySQL5.5から5.7へ移行する
幸いStarServerには移行ツールというのがありましたので、これで簡単に移行できそうです。
古いデータベースは2つありますので、怖いから一個づつ行きます。
ほんの数秒出で移行完了しました。
PHPを7.2.34から7.4.13へバージョンアップ
PHPをPHP7.4.13へバージョンアップ。
これで無事エラーメッセージ消えてサイトが開きました。
どうやら仮説は正しかったようです。
これで今まで使えていなかったサーバーの高速化機能も使えるようになりました。
まとめ
WordPressで「データベース接続エラー」がでたら
WordPressがMySQLデーターベースにログインできていない。
主にはパスワード変更が原因だが
PHPのバージョンアップをすることで古いMySQLデーターベースが動かないという現象もある。
その場合はMySQLデーターベースをバージョンアップすることで解決する可能性が高い。