古いWORDPRESSインストール済みのロリポップでPHPのバージョンをアップしたら「お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。」と表示される、もしくはデータベースエラーが出る

タイトルの通りでかなり苦労しました。 もしくは急にデータベースに接続できなくなる、という状態になった方もいるかも知れません。 2サイト運営中にPHPのバージョンを任意のアップした所、片方はデータベースに接続できなくなり、 もう片方は「お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。」 と表示され何もできなくなってしまいました。

データベースに接続できなくなるという謎現象だけでも解決していきたいのでこちらを先に解決します。

ひとまず詳細なエラーを出力してみる

PHPのバージョンを戻しても何も効果がなかったので細かいエラーを出すためにwp-config.phpにある

define('WP_DEBUG', false);

define('WP_DEBUG', true);

にしてエラーを見てみました。

Warning: mysqli_real_connect(): (HY000/2000): mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file in /home/users/1/ユーザー名/web/WORDPRESSのあるディレクトリ名/wp-includes/wp-db.php on line 1531

こんなエラーが出ていました。 要約すると「こちらもハッシュ値とか色々新しくしたいからパスワードをリセットしてくれ!」ということなので

DBのパスワードを変更してみる。

ここにも

データベースパスワードの形式が old_password 形式の場合、native_password 形式に変わります。 ご利用のプログラムが native_password 形式に対応しているかご確認の上、パスワード再設定を行ってください。 ※データベースパスワードの再設定後、サイトの表示やプログラムの動作に問題が起きた場合は、こちらをご参照ください。

ここにも似たような説明が書いてあるんですね。

パスワードを更新してwp-config.phpの方もパスワードを更新した所、無事表示されました。 (プラグインのエラーがたくさん出てましたが・・・。)

「お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。」

こちらについてはパスワードを変更してもこの表示のままです。 ロリポップに問い合わせしてみようかと思います。追記をお待ち下さい。

PHP, WORDPRESS

Posted by bistro