Column

WordPressに突然「データベース接続確立エラー」と出た時は、PHPのバージョンもチェック!

Web制作

2019.05.21

WordPressのログイン画面が突然「データベース接続確立エラー」と表示されるようになってしまった……!

wp-config.phpは問題ないし、データベースのテーブルが壊れているようでもない。

一体何が起きているの!?

弊社のお客様で実際に起きたケースを例に、原因と対応を解説します。

今回のケースでは、
「データベース自体には問題がなく、サーバのPHPのバージョンが変更されたためにデータベースの再設定が必要になった」
ということが原因でした。

「データベースには問題がなさそうなんだけど……?」という際のご参考にしていただければと思います。

そもそも「データベース接続確立エラー」とは

サーバとデータベースの間にプログラムの不具合があり、データベースから情報を読み出せなくなっている状態です。
Wordpress運用における「データベース接続確立エラー」は下記のような状況で発生することが多く、ネットで検索すると対策方法がいろいろと提案されています。

・サーバ側で障害が発生している
・データベースにアクセスするための情報(パスワードなど)が間違っている
・データベースにアクセスするための情報が書かれたプログラムファイルのパーミッションが正しくない
・データベースの一部のテーブルが壊れてしまっている
・データベースのサイズ(容量)が増えすぎている

今回のケースでは、どれも当てはまりませんでした。

原因はサーバのPHPバージョンアップだった

今回のサイトは、レンタルサーバーのGMOクラウド「iCLUSTA+」で運用されていました。調査してみると、エラー発生の日に、サポートによるPHPのバージョンアップが実施された模様。

サーバ管理画面で確認すると、「データベースのパスワードを再設定してください」というメッセージが表示されているではありませんか……。

メッセージに従い、データベースのパスワードを再設定したところ、ログイン画面が正常に表示されるようになりました!

なお、諸事情で最新バージョンでの運用ができないという場合は、手動でバージョンを下げることも可能です。

「iCLUSTA+」におけるPHPバージョン変更の手順は、公式マニュアルをご参照ください。

[参考] iCLUSTA+ PlanManagerマニュアル – PHP設定
https://help.gmocloud.com/app/answers/detail/a_id/2964/kw/PHP7.2/p/7

「iCLUSTA+」PLAN MANAGERでデータベースのパスワード再設定を行うには

「iCLUSTA+」のサーバコントロールパネルであるPLAN MANAGERからPHPのバージョンアップとデータベースのパスワード再設定を行うことができます。
作業前に、サーバ契約時に交付されるPLAN MANAGER用パスワードやWordpressインストール時のデータベース用パスワードをお手元に用意した方がスムーズですよ!

1. 「iCLUSTA+」PLAN MANAGERにログインする。

2. 左側メニュー内の「ウェブコントロール」メニューにて「PHP設定」を選択する。

3. PHP設定画面で「対象サイト」と「PHPのバージョン」の対応を確認。
PHPバージョンがアップされていることを確認しておく。
(バージョンアップされていなかったら、不具合は別の原因の可能性も……)

4. 左側メニュー内の「ユーティリティ」メニューにて「データベース設定」を選択する。

5. データベース設定画面で対象サイトのドメインで使用しているデータベースの「編集」ボタンをクリックする。
(対象DBがわかりにくい場合、「使用ドメイン」をキーに検索し対象のDBを表示する)

6. データベース設定画面上に対象データベースの設定内容が表示されるので、「パスワード」欄に現在のパスワードを入力し、「設定の保存」をクリック。
(パスワードを変更する場合は、Wordpressのwp-config.phpファイル内のパスワードも忘れず変更しアップロードする)

7. ブラウザでサイトに再度アクセスし、Wordpress管理画面にログインできることを確認する。

基本的な対応は上記で手順で完了ですが、念のためにサイト全体を一通りチェックしてみてください。PHPバージョンアップに伴い、プラグインが不具合を起こしたり、テーマ上に不具合が生じている場合があります。今回、弊社で対応したケースでも、テーマで使用している関数が新しいPHPバージョンでは利用できなくなっており、プログラムを一部書き換える必要が発生していました。

また、作業前にデータベースのバックアップも実施しておいた方が、より安心して作業できると思います。Wordpressのバージョンアップもついでに実施できますしね……。

[参考][DBManager] databaseのバックアップ
https://help.gmocloud.com/app/answers/detail/a_id/2441/p/8

WordPressのバージョンアップはこまめに行なっていても、PHPのバージョンアップはなかなか手が回らないかもしれません……。しかしPHPもバージョン5.6はもうサポートも終了しています。

突然のエラーという悲劇を生まないためにも、サイトご使用のPHPのバージョンを確認して、時間のある時にバージョンアップを実施しておきましょう~。