WordPress及びphpMyAdminにアクセスできないエラー

PHP5.6のインストールを無事に終えて、WordPressにアクセスし当ブログが表示されるか確認したところエラーメッセージ「お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。」が表示されました。
phpMyAdminにもアクセスしたところ、こちらも同じメッセージでした。

PHPのインストールだけでは、どうやら足りないパッケージがあったようです。
MySQLのPHP拡張がインストールされているか確認します。

ちょっと、忘れましたが確かこの2つのモジュールが入っていたと思います。
しかし、エラーが表示される…。

調べると、PHP5.6でのデフォルトの拡張モジュールは「mysqlnd」となるようなのでインストールします。

併せて、旧バージョンのPHPを削除した際にインストールされていたパッケージもインストールします。

他にも、php-gd、php-lastも同様にインストールしました。
もう一度MySQLのPHP拡張の確認をします。

追加されました。
httpdを再起動します。

今度は警告が出てしまいました。
「モジュールは既にロードされているからスキップしました。」というような内容で、要は二重起動しようとしているということです。

1行目、6行目がファイル名で、その中にphp5_moduleがそれぞれロードされるようになっていたのが原因です。
どちらかをコメントアウトすると解決します。私は、上記8~10行目の通りphp.confの方をコメントアウトしました。

修正後、もう一度httpdを再起動します。

問題なく起動しました。

これで解決したかと思い、再びWordPressにアクセスしました。
すると今度は、「データベース接続確立エラー」の大きい文字が…
phpMyAdminはというと、やはり同じメッセージが…

原因を特定するためにコマンドからMySQLでログインしてデータベース、ユーザ、テーブルを確認

問題はなさそうなので、PHPから接続する方に原因が…
PHPのエラーログを確認してみます。

ログが吐き出されていました。
内容を調べると、mysqlndをアップデートすると、古いパスワードハッシュ化方式(16byte)ではデータベースに接続できず、新しいパスワードハッシュ化方式(41byte)にする必要があるようです。

確かに、パスワードが16文字となっています。
では、MySQLオプション設定ファイルとパスワードの変更です。

4行目:old_passwords=1を上記のように書き換え、古いパスワードハッシュプラグインを無効にします。

次にパスワードの変更です。

9行目:rootユーザのパスワードを変更
12行目:rootでログインしているので、ユーザを指定してパスワードを変更
15行目:ユーザテーブルを確認
19,20行目:root及びwpユーザのPasswordの文字数が41文字と変更されている

同じようにすべてのユーザのパスワードを変更していきます。
MySQLと一応、httpdを再起動

これでもう解決したでしょう…
と、思いながらもちょっと不安気にアクセスしてみると…

やっとWordPressが表示されました。
phpMyAdminにもアクセスできました。

と、ここでもう一度ログを確認してみました。
PHPのエラーログは、異常なし…

そういえば、MySQLのログ見てないなぁ…
と思い見てみると、エラーが出てました。しかも、3年前ぐらいから…
でも今まで何でもなく使えているし…
調べてみると、

というようなエラーが沢山出ていました。
「カラムが間違っているからmysql_upgradeコマンドを実行してください」という内容なのでコマンドを実行します。

もう一度、念のためmysqldを再起動し、ログを確認すると異常なく動いているようです。

これで、PHPのバージョンアップデートによる一連の障害が解決できました。
改めて、ログを確認する大切さを痛感しました…

LINEで送る
[`evernote` not found]
Pocket

コメントは受け付けていません。