PHPのバージョンアップ

閲覧数: 94(0)

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」のバージョンアップ。

カテゴリーIT閑話, 公開タグ, , ,
関連記事
アクセシビリティ対策
2019年6月23日

テーマカスタマイズの一環で、トップページに一覧表示されている「写真を左右交互に表示する」ようにした際  続きを読む

dockerとproxy
blank
2019年6月18日

dockerやdocker-composeをプロキシ環境下で使うのに苦労したので忘れないようにメモし  続きを読む

関連記事の大原則
blank
2019年6月16日

ググったりしてあるページにたどり着いた閲覧者に対して、それに関連する記事を提示して少しでもサイトの滞  続きを読む

dockerとiptables
blank
2019年6月13日

クラウドサーバーを利用する場合、ファイアウォール(Firewalld/iptables)の設定に失敗  続きを読む

コンテナとFirewall
blank
2019年6月12日

三日連続のdockerネタです。前回の「コンテナの自動起動」でサーバーを再起動した時にコンテナ(ph  続きを読む

コンテナの自動起動
blank
2019年6月11日

最新バージョンのPHP-FPMをdockerのコンテナとして動かしてみたところ、思ったより安定して動  続きを読む

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください