PHPバージョンアップで「データベース接続確立エラー」が出る原因と解決方法【WordPress対応】

WordPress

PHPを7.4以上にアップデートした際に「データベース接続確立エラー」が出てしまった場合、多くは「データベースユーザーのパスワードを再設定する」ことで解決できます。
PHPのバージョンを元に戻すとエラーが解決する場合は、この原因で間違いないでしょう!

これは、PHPのバージョン変更に伴ってMySQLの暗号化方式が変わることが原因で、既存のパスワードが認識されなくなるためです。
サーバーの管理画面からパスワードを再設定すれば、新しい方式に対応した認証情報に書き換わり、エラーが解消されるケースが大半です。

もちろん、場合によってはプラグインの不具合やデータベースのバージョンそのものが古いことも原因になります。
この記事では、PHPバージョンアップ時に起こりやすい「データベース接続確立エラー」の具体的な原因と解決方法を、手順ごとにわかりやすく解説していきます。

データベース接続確立エラーとは?

データベース接続確立エラー

WordPressサイトを開いたときに「データベース接続確立エラー」や英語で「Error establishing a database connection」と表示される場合、WordPressがデータベースにアクセスできない状態を意味します。

WordPressは記事やページの内容、ユーザー情報などをすべてデータベースに保存しています。
そのため、データベースに接続できなくなると、サイト自体を表示することができなくなります。

一般的な原因
  • wp-config.phpに設定されたデータベース情報が正しくない
    (ユーザー名・パスワード・ホスト名などが間違っている場合)
  • データベースサーバーが一時的にダウンしている
  • PHPやMySQLのバージョンアップで認証方式が変更された

今回のように「PHPを7.4以上にしたら急にエラーになった」ケースでは、3つ目の暗号化方式の違いが原因である可能性が高いです。

原因はMySQLの暗号化方式が変更になったから

PHP 7.4以上にアップデートした際に「データベース接続確立エラー」が発生するケースの多くは、MySQLのパスワード認証方式が古いままであることが原因です。

WordPressは、MySQLに接続する際にユーザー名とパスワードを使います。
ところが、MySQL 8.0以降やPHP 7.4以降では、セキュリティ向上のために認証方式(暗号化の仕組み)が新しくなりました。

  • 古い方式:mysql_native_password
  • 新しい方式:caching_sha2_password

サーバー環境によっては、データベースユーザーがいまだに古い方式のまま設定されていることがあります。
その結果、PHP 7.4以上でWordPressを動かそうとすると互換性が合わず、接続エラーが発生してしまうのです。

特に、レンタルサーバーで「PHPだけ新しいバージョンに切り替えた場合」に起こりやすいトラブルです。

解決方法:サーバー管理画面からユーザーのパスワードを変更

WordPressの「データベース接続確立エラー」が発生する場合、レンタルサーバー側でデータベースユーザーのパスワードを変更することで解決できるケースがあります。

パスワード変更時のポイント

1. 長さは12文字以上

8文字以下だと総当たり攻撃で突破されやすいです。
最低でも12〜16文字以上を目安にしましょう。

2. 英数字+記号を組み合わせる

  • 大文字・小文字のアルファベット
  • 数字
  • 記号(! @ # $ % ^ & * など)

これらを組み合わせて複雑にすることで、推測されにくくなります。

例:Wp!9tR#kZ7@q

3. 個人情報は避ける

  • 名前
  • 誕生日
  • 電話番号
  • サイト名

など、推測されやすいものは使わないようにしましょう。


4. パスワード管理ツールを使う

複雑なパスワードは覚えにくいため、
1Password / Bitwarden / KeePass / Googleパスワードマネージャー などを使うと安心です。

まとめると…

  • 長い(12文字以上)
  • 英大文字・小文字・数字・記号を混ぜる
  • 個人情報を使わない
  • 管理ツールで保存する

このルールで作れば、安全でWordPressも安定して動作します。

代表的なレンタルサーバーのパスワード変更手順

1. Xserverの場合

  1. サーバーパネルにログイン
    契約時に案内された「サーバーパネル」にアクセスします。
  2. MySQL設定を選択
    「データベース」項目の中から「MySQL設定」をクリック。
  3. ユーザー一覧から対象ユーザーを選択
    パスワードを変更したいユーザーを探します。
  4. パスワードを変更する
    新しいパスワードを入力して保存します。

2. さくらのレンタルサーバーの場合

  1. コントロールパネルにログイン
    管理画面にアクセスします。
  2. データベース管理ツール(phpMyAdmin)を起動
    利用中のデータベースを選び、「phpMyAdmin」を開きます。
  3. ユーザーのパスワードを変更
    画面上部の「ユーザーアカウント」から対象のユーザーを探し、パスワードを新しいものに更新します。

3. ConoHa WINGの場合

  1. ConoHa WINGのコントロールパネルにログイン
  2. データベース → データベースユーザーを選択
  3. ユーザーのパスワードを変更
    対象ユーザーをクリックし、新しいパスワードを設定して保存します。

4. パスワード変更後の注意点

  • WordPressの wp-config.php に書かれているDB_PASSWORDの値も、新しいパスワードに必ず書き換える必要があります。
define( 'DB_PASSWORD', '新しいパスワード' );

古いパスワードのままだと、再び「データベース接続確立エラー」が出ます。

wp-config.phpの設定を変更する方法

レンタルサーバーのファイルマネージャーFTPソフト(FFFTP / FileZilla など)を使って、WordPressをインストールしたディレクトリにアクセスします。

wp-config.phpの設定を変更する方法

WordPressを設置したルートフォルダ(通常は public_htmlhtdocs)にwp-config.phpファイルがあります。
このwp-config.phpをダウンロードし、テキストエディタ(VSCode、サクラエディタ、TeraPadなど)で開きます。

以下の部分を探してください:

/** WordPress のためのデータベース名 */
define( 'DB_NAME', 'データベース名' );

/** MySQL データベースのユーザー名 */
define( 'DB_USER', 'ユーザー名' );

/** MySQL データベースのパスワード */
define( 'DB_PASSWORD', 'パスワード' );

/** MySQL のホスト名 */
define( 'DB_HOST', 'localhost' );

レンタルサーバーでデータベースユーザーのパスワードを変更した場合は、ここに記載されているDB_PASSWORDを新しいパスワードに書き換えて保存します。
修正した wp-config.php を保存し、サーバーに再アップロードしてください。

ブラウザでWordPressサイトを開いて、正常に表示されれば接続成功です。
「データベース接続確立エラー」と出た場合は、入力情報に誤りがある可能性が高いです。

ポイント
  • 変更前に必ずバックアップを取っておく
  • DB_NAMEDB_USERDB_PASSWORDDB_HOST の4つが一致していることを確認

同時に発生しやすいエラーと対処方法

PHPのバージョンをアップデートしたり、データベース接続情報を変更すると、WordPressでは「データベース接続確立エラー」以外の問題も同時に発生することがあります。
ここでは代表的なエラーとその対処法を紹介します。

1. Fatal error(致命的エラー)

原因例

  • 使用しているテーマやプラグインが、PHPの新しいバージョンに対応していない
  • 古い関数や非推奨関数を使っている

対処法

  1. プラグインを一旦すべて停止(停止出来ない場合は、バックアップをとってサーバーから削除)
  2. PHPバージョンを切り替えて正常に動作するか確認
  3. 問題のあるプラグインやテーマを特定し、最新バージョンに更新するか代替を利用
  4. 必要であれば、エラーメッセージに従ってコードを修正

2. White Screen of Death(真っ白画面)

原因例

  • メモリ不足
  • PHPエラーが画面に出力されず表示されない
  • テーマやプラグインの互換性問題

対処法

  1. wp-config.php に以下を追加してエラー表示を確認
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', true);
  1. エラーログを確認し、該当プラグインやテーマを特定
  2. プラグイン停止、テーマ変更、PHPメモリ増加などで解消

3. データベース関連の警告やNotice

原因例

  • PHPのバージョンアップにより、従来は警告にならなかった処理がNoticeやWarningとして表示される
  • データベースの文字コードや暗号化方式の不一致

対処法

  1. wp-config.php で以下を追加し一時的に非表示にすることも可能
error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING);
  1. 根本的にはテーマ・プラグインのコードをPHPの最新仕様に合わせて修正

4. サーバー側の接続エラー

原因例

  • PHPからデータベースへの接続制限
  • MySQLのバージョン差異による互換性問題

対処法

  1. サーバー管理画面でデータベースのバージョンを確認
  2. MySQLのバージョンを推奨バージョンに移行
  3. wp-config.php の接続情報(ユーザー名、パスワード、ホスト名)を再確認
ポイント
  • PHPバージョンアップ時は 「データベース接続確立エラー」だけでなく、テーマやプラグインの互換性も確認」
  • エラーが出た場合は慌てず、ログを確認→プラグイン停止→テーマ変更→PHPバージョン調整 の順で切り分ける
  • すぐに作業できるように、事前に バックアップ を必ず取得

まとめ

PHPのバージョンアップで「データベース接続確立エラー」が発生することがあります。
このエラーは、データベースへの接続情報や暗号化方式の違いが原因で起こることが多いです。

対処の基本ステップ

  1. データベースユーザーのパスワードを再設定
    • レンタルサーバーの管理画面から変更し、wp-config.php に反映する
  2. wp-config.php の設定を確認
    • ユーザー名・パスワード・ホスト名が正しいか確認
  3. テーマやプラグインの互換性を確認
    • 一時的に全プラグインを停止、テーマをデフォルトに変更して動作確認
  4. 必要に応じてデータベースのバージョンを更新
    • MySQLのバージョン差異によるエラーもあるため、サーバー推奨バージョンに移行

同時に発生しやすいエラー

  • Fatal error(テーマ・プラグインの非対応関数)
  • White Screen of Death(真っ白画面)
  • Notice・Warning(PHPの新仕様による警告)

ポイント

  • PHPアップデート前に必ずバックアップを取得する
  • エラーが出ても慌てず、ログ確認→プラグイン停止→テーマ変更→PHPバージョン調整の順で切り分け
  • データベースの接続情報とパスワード設定を最新仕様に合わせることが最優先

PHPバージョンアップでエラーが出ても、基本手順を踏めば解決可能です。

この記事を書いた人
管理人

2012年にWebデザインの勉強を始め、2013年より制作会社に勤務。
これまでに500件以上のWebサイト制作・運用に携わってきました。
現在も制作会社に勤務しながら、Webデザインスクールのトレーナーとしても後進の育成に取り組んでいます。
WordPressやデザインの実践的なノウハウを、初心者にもわかりやすく発信できるよう試行錯誤しています。

管理人をフォローする
WordPress
管理人をフォローする

コメント

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