WordPressをPHP7にアップデートして使う際はMySQL拡張に注意

PHP7では大幅な性能改善や機能の追加・廃止がされましたが、システムによってはアップデートすると正常に動かなくなってしまうことがあります。

 

WordPressも影響を受けていて、環境によっては動かなくなることがあるため対策が必要になります。

尚、ここに記載しているのはPHPをソースからインストールしている場合の方法です。
インストールについては下記ページを参照してください。

CentOS 7にPHP最新版をインストール
繰り返されるバージョンアップによる機能改善やセキュリティ強化でどんどん便利になっていくPHPの最新版をインストールするメモ。 使用したOS # cat /etc/redhat-release CentOS Linux releas...

PHP7へアップデート後にWordPressで作成したページにアクセスすると、

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

と表示されることがあります。

 

これはWordPressで使われていたMySQL拡張モジュールがPHP7で廃止されたためで、代わりにmysqli拡張モジュールを使用する必要があります。

 

mysqli拡張モジュールを導入するためには./configureするときに下記のオプションを追加します。

-with-mysqli --with-mysqli=/usr/bin/mysql_config
64bitの場合
-with-mysqli --with-mysqli=/usr/bin/mysql_config-64

mysql_configのパスが分からない場合、「mysql_config」をコマンドで入力するとヘルプとして教えてくれます。

[root@localhost ~]# mysql_config
Usage: /usr/bin/mysql_config-64 [OPTIONS]
Options:
--cflags         [-I/usr/include/mysql -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -fPIC -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DMY_PTHREAD_FASTMUTEX=1]
--cxxflags       [-I/usr/include/mysql -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -fPIC -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DMY_PTHREAD_FASTMUTEX=1]
--include        [-I/usr/include/mysql]
--libs           [-L/usr/lib64/mysql -lmysqlclient -lpthread -lm -lrt -ldl]
--libs_r         [-L/usr/lib64/mysql -lmysqlclient_r -lpthread -lm -lrt -ldl]
--plugindir      [/usr/lib64/mysql/plugin]
--socket         [/var/lib/mysql/mysql.sock]
--port           [0]
--version        [5.6.20]
--libmysqld-libs [-L/usr/lib64/mysql -lmysqld -lpthread -lm -lrt -lcrypt -ldl -laio]
--variable=VAR   VAR is one of:
pkgincludedir [/usr/include/mysql]
pkglibdir     [/usr/lib64/mysql]
plugindir     [/usr/lib64/mysql/plugin]

インストール後、サーバーを再起動しWordPressのページにアクセスすれば正常に閲覧出来るようになっているはずです。

 

コメント

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