PHP
WordPress
CentOS

お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。と表示された対応

PHPのバージョンを上げたところ、MySQLに接続できなくなりました。

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

これは非常に単純なケアレスミスによる MySQL モジュールのインストールミスに対する解決策の記事です。

環境

元のサーバーはさくらVPSです。PHP5.4系で WordPress が動いていました。

php -v
PHP 5.4.45 (cli) (built: Sep 30 2015 15:56:06) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies

PHP5.4というのは古いので更新したくなりました。
OS を確認します。

cat /etc/redhat-release 
CentOS release 6.6 (Final)

CentOS6系のようです。ここからいきなりPHP7にするのは飛び越している感じがしたので、5.6に上げることにしました。

アップデートの手順

参考サイト1を元にPHP5.4系を削除して、5.6系のインストールを実行しました。

PHPをアンインストール
sudo yum remove php-*

PHP5.4系が削除されました。

PHPをインストール
sudo yum install --enablerepo=remi,remi-php56 php php-devel php-mbstring php-pdo php-gd php-xml php-mcrypt

インストールされたのでバージョンを確認します。

PHPのバージョンを確認
php -v
PHP 5.6.34 (cli) (built: Feb 28 2018 10:26:09) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

PHP5.6になっています。問題無さそうです。
httpdを再起動しておきました。

sudo /etc/init.d/httpd restart

WordPressのページを確認します

WordPressのページを確認します。

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

寿司ゆき:wat

あれなんでしょう。MySQL拡張が読み込まれていなようです。

MySQL 拡張を確認

拡張があるか調べます。

ll /usr/lib64/php/modules/ | grep mysql

でてきません\(^o^)/
インストール時に入っていなかったみたいです。

インストールコマンドを見直すと、php-mysqlがないですね。

php-mysqlnd をインストール

まずは PHP を消してみました。

PHP5.6をアンインストール
sudo yum remove php-*

php-mysql を追加してインストールします。

PHP5.6をインストール
sudo yum install --enablerepo=remi,remi-php56 php php-devel php-mbstring php-pdo php-gd php-xml php-mcrypt php-mysql

略

==============================================================================================================================================================================================================================================
 パッケージ                                                     アーキテクチャ                                   バージョン                                                        リポジトリー                                          容量
==============================================================================================================================================================================================================================================
インストールしています:
 php                                                            x86_64                                           5.6.34-1.el6.remi                                                 remi-php56                                           2.7 M
 php-devel                                                      x86_64                                           5.6.34-1.el6.remi                                                 remi-php56                                           1.2 M
 php-gd                                                         x86_64                                           5.6.34-1.el6.remi                                                 remi-php56                                            79 k
 php-mbstring                                                   x86_64                                           5.6.34-1.el6.remi                                                 remi-php56                                           970 k
 php-mcrypt                                                     x86_64                                           5.6.34-1.el6.remi                                                 remi-php56                                            50 k
 php-mysqlnd                                                    x86_64                                           5.6.34-1.el6.remi                                                 remi-php56                                           277 k
 php-pdo                                                        x86_64                                           5.6.34-1.el6.remi                                                 remi-php56                                           119 k
 php-xml                                                        x86_64                                           5.6.34-1.el6.remi                                                 remi-php56                                           221 k
依存性関連でのインストールをします。:
 php-cli                                                        x86_64                                           5.6.34-1.el6.remi                                                 remi-php56                                           4.0 M
 php-common                                                     x86_64                                           5.6.34-1.el6.remi                                                 remi-php56                                           1.1 M
 php-pecl-jsonc                                                 x86_64                                           1.3.10-2.el6.remi.5.6                                             remi-php56                                            52 k
 php-pecl-jsonc-devel                                           x86_64                                           1.3.10-2.el6.remi.5.6                                             remi-php56                                            31 k
 php-pecl-zip                                                   x86_64                                           1.15.2-1.el6.remi.5.6                                             remi-php56                                            53 k

トランザクションの要約
==============================================================================================================================================================================================================================================
インストール        13 パッケージ

インストール済み容量: 41 M
これでいいですか? [y/N]

略

前回と比較すると php-mysqlnd が追加されています。

MySQL拡張を確認します。

ll /usr/lib64/php/modules/ | grep mysql
-rwxr-xr-x 1 root root   49440  2月 28 18:28 2018 mysql.so
-rwxr-xr-x 1 root root  134232  2月 28 18:28 2018 mysqli.so
-rwxr-xr-x 1 root root  276856  2月 28 18:28 2018 mysqlnd.so
-rwxr-xr-x 1 root root   28352  2月 28 18:28 2018 pdo_mysql.so

今度はmysql.soが入っています。

httpdを再起動します。

sudo /etc/init.d/httpd restart

WordPressを確認

今度はお使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。という表示がでずに、通常の WordPress の画面が表示されました。

最後に

PHP5.6系も2018年までのサポートということはまた上げなくてはいけないのか(☝ ՞ਊ ՞)

参考