Posted at

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

More than 1 year has passed since last update.

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 拡張を利用できないようです。

あれなんでしょう。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年までのサポートということはまた上げなくてはいけないのか(☝ ՞ਊ ՞)


参考