PHPのバージョンアップ
Mediawikiが1.30から1.31へメジャーバージョンアップしたので早速インストールしようと思いテスト系で試してみたところ、サポートされるPHPのバージョンが7.0以降となっていた。下位互換を保つためずっと5.6系をサポートして来たのだが、それもついに今回で終わりになったようだ。このサーバーではPHPのメジャーバージョンアップは初なのでちょっと大変かも。しかもテスト系と本番環境(EC2)は各種ソフトウェアの条件が異なっているので、テスト系でOKでも本番系で大丈夫と言う保証もない。
まずは「WordPress(4.6.9)」と「Mediawiki(1.30.0)」を現行バージョンのまま、PHPだけを「5.6」から「7.0」へ上げる確認をテスト系で行う。ちょっと手間取ったけど何とか動作する事は確認出来た。懸案だった「Elasticsearch」も大丈夫なようだ。
テスト系のCentOS 6.9では、リポジトリ「remi-php70」を使って「PHP 5.6」を「PHP 7.0」へリプレースする方法でのバージョンアップを行った。
# yum install --enablerepo=remi-php70 php php-bcmath php-gd php-json php-mbstring...
本番系のEC2は、Amazon標準のリポジトリを使い「PHP 5.6」と「PHP 7.0」を共存させ「Alternatives」で選択する方法を取った。(と言うかそれしか方法が見つからなかったw)
# yum install php70 php70-bcmath php70-gd php70-json php70-mbstring...
共存するパッケージは以下の通り。
# yum list installed php56* php56.x86_64 5.6.36-1.138.amzn1 @amzn-updates php56-bcmath.x86_64 5.6.36-1.138.amzn1 @amzn-updates php56-cli.x86_64 5.6.36-1.138.amzn1 @amzn-updates php56-common.x86_64 5.6.36-1.138.amzn1 @amzn-updates php56-gd.x86_64 5.6.36-1.138.amzn1 @amzn-updates php56-jsonc.x86_64 1.3.10-1.20.amzn1 @amzn-updates php56-mbstring.x86_64 5.6.36-1.138.amzn1 @amzn-updates php56-mcrypt.x86_64 5.6.36-1.138.amzn1 @amzn-updates php56-mysqlnd.x86_64 5.6.36-1.138.amzn1 @amzn-updates php56-pdo.x86_64 5.6.36-1.138.amzn1 @amzn-updates php56-process.x86_64 5.6.36-1.138.amzn1 @amzn-updates php56-tidy.x86_64 5.6.36-1.138.amzn1 @amzn-updates php56-xml.x86_64 5.6.36-1.138.amzn1 @amzn-updates
5.6系でインストールされていたモジュールを7.0系でもインストールする。
# yum list installed php70* php70.x86_64 7.0.30-1.29.amzn1 @amzn-updates php70-bcmath.x86_64 7.0.30-1.29.amzn1 @amzn-updates php70-cli.x86_64 7.0.30-1.29.amzn1 @amzn-updates php70-common.x86_64 7.0.30-1.29.amzn1 @amzn-updates php70-gd.x86_64 7.0.30-1.29.amzn1 @amzn-updates php70-json.x86_64 7.0.30-1.29.amzn1 @amzn-updates php70-mbstring.x86_64 7.0.30-1.29.amzn1 @amzn-updates php70-mcrypt.x86_64 7.0.30-1.29.amzn1 @amzn-updates php70-mysqlnd.x86_64 7.0.30-1.29.amzn1 @amzn-updates php70-pdo.x86_64 7.0.30-1.29.amzn1 @amzn-updates php70-process.x86_64 7.0.30-1.29.amzn1 @amzn-updates php70-tidy.x86_64 7.0.30-1.29.amzn1 @amzn-updates php70-xml.x86_64 7.0.30-1.29.amzn1 @amzn-updates
リンクコマンドでインストールしたPHP 7.0系を追加する。
ln -sf /etc/httpd/conf.d/php-conf.7.0 /etc/alternatives/php.conf ln -sf /etc/httpd/conf.modules.d/15-php-conf.7.0 /etc/alternatives/10-php.conf
「alternatives」を実行して「PHP 7.0」を選択すれば「切替」は完了。
# alternatives --config php 2 プログラムがあり 'php' を提供します。 選択 コマンド ----------------------------------------------- + 1 /usr/bin/php-5.6 * 2 /usr/bin/php-7.0 Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:
CLI環境を確認する。
# php --version PHP 7.0.30 (cli) (built: May 10 2018 17:39:13) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
Apacheを再起動すれば、新環境でPHPが稼働する。
# service httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ] #
Apacheの正常稼働を確認したら「WordPress」と「Mediawiki」の現行バージョンでの動作確認を行う。
これで前半は終わり、後半はいよいよ「Mediawiki」のバージョンアップ。