【対処法】PHPを更新するとデータベース接続確立エラーになってしまう

ブログ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ブログBも置いているサーバーは同じです。

そして色々見ているとブログ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データーベースをバージョンアップすることで解決する可能性が高い。

おすすめの記事