PHPのバージョンアップ

コンソールから php -v と叩くとPHP 5.6.14 と表示されるのに、phpinfo で確認するとPHP 5.6.27 とバージョンが違う不思議。原因は、./configure の –bindir=/ オプションで/usr/bin と /usr/local/bin の違う場所にphpをビルド、インストールしていたからでした。めんどくさいので最新版のマイナーバージョン 5.6.30(2017年4月12日現在)をソースから–bindir=/usr/local/bin にビルド、インストール。

php -v すると、

PHP Startup: Unable to load dynamic library ...

と縦スクロールのエラーメッセージがだらだらと・・・。
ここは、/usr/lib64/php/modulesディレクトリから拡張ライブラリをまるっとコピー。

# cp /usr/lib64/php/modules/*.so /path/to/extension_dir/

再び php -v 。今度も縦スクロールのエラーが・・・。

Module 'PDO' already loaded in Unknown on line 0

./configure オプションで –with-config-file-scan-dir=/ を指定して.iniファイルがライブラリを2度読みしていたのが悪かったみたいです。

指定なしで再ビルド。

# ./configure --with-apxs2=/usr/local/apache2/bin/apxs --includedir=/usr/include --bindir=/usr/local/bin --with-openssl=/usr/local/ssl --with-mysql --with-mysqli --with-jpeg-dir=/usr --with-png-dir=/usr --with-freetype-dir=/usr --with-gd --with-zlib --with-curl --with-xsl --enable-gd-native-ttf --with-gettext --with-libxml-dir=/usr/bin/xml2-config --enable-mbstring

# make && make install

3回目の正直。php -v 今度は正常に PHP 5.6.30 と表示されました。