過去ログ再掲 – PHP7 をソースからビルド

CentOS6にPHP7をソースからインストール – Qiita から丸写しで ビルドしたのでメモ。

# wget php-7.1.16.tar.gz http://jp2.php.net/get/php-7.1.16.tar.gz/from/a/mirror
# tar zxvf php-7.1.16.tar.gz
# cd php-7.1.16

でソースディレクトリにて作業開始。

# ./configure --with-apxs2=/usr/local/apache2/bin/apxs --includedir=/usr/include --bindir=/usr/local/bin --with-openssl=/usr/local/ssl --with-mysqli --with-jpeg-dir=/usr --with-png-dir=/usr --with-freetype-dir=/usr --with-gd --with-zlib --with-curl --with-xsl --with-gettext --with-libxml-dir=/usr/bin/xml2-config --enable-mbstring --with-mysqli=mysqlnd --enable-mysqlnd --with-pdo-mysql=mysqlnd --enable-bcmath --enable-pcntl --enable-ftp --enable-exif --enable-calendar --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-gmp --with-pspell

ここでエラー。

Warnning unrecognized options --with-mysql --enable-gd-native-ttf

PHP7 ではwith-mysqli で十分とのこと。enable-gd-native-ttfも要らないようですね。改めて ./configure make && make install して

# make && make install
# /etc/init.d/mysqld restart
# /etc/init.d/httpd restart

ビルド完了。mysql apache 再起動すると『データベース接続エラー』と表示されwordpress 表示に問題発生。

Google 先生に聞くと、PHP7にバージョンを上げると、WPの「データベース接続確立エラー」が出てしまいます  にズバリ正解がありました。

# mysql_config --socket

コマンドでソケットのパスを聞いて、php.ini のmysql.default_socket、mysqli.default_socket のそれぞれに=/pass を放り込めば良いらしい。
phpinfo.php で、mysql のmysql.default_socketmysqli 、mysqli.default_socket 項目のそれぞれに正しいパスが表示されていれば作業終了。

# php -v
PHP 7.1.16 (cli) (built: Apr 18 2018 22:12:13) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies

めでたくPHP7 にバージョンアップされました。ただし、数式表示プラグイン wpmathpub との相性が悪いらしくWordpress の表示が崩れます。ここは、PHP5.6.35 にダウングレードして解決しました。