CentOS7の標準レポジトリでは、PHP5.4が提供されています。
PHP公式では、PHP5.4のセキュリティサポート期限は2015/09/14だったため、すでに期限切れになっていますが、CentOSとして、CentOS7のセキュリティサポート期限まで、PHP5.4をサポートしているため、現在でも利用することができます。
しかし、最新のプラットフォームなどを利用してソフトウェア開発をしたい場合など、古いPHPではダメな場合があると思います。
そういった際に、CentOS7の標準レポジトリで入れたPHP5.4をアンインストールして、より新しいバージョンのPHPをインストールします。
※CentOS標準以外のパッケージをインストールすることになるため、保守により手間がかかる、開発スパンが短くなるなどのリスクはあります。そのため、PHPバージョンを上げる場合は、十分に検討してから行ってください。
今回は、PHP5.4 から PHP5.6 にする方法についてになります。
流れとしては、下記となります。
既存のPHPをアンインストール
標準レポジトリよりインストールしたPHPがある場合は、競合を避けるために、アンインストールします。
※別バージョンのPHPを共存させる方法もありますが、今回はその方法をとりません。
# yum remove php*
上記コマンドより、php関連のすべてのパッケージをアンインストールしてくれます。アンインストールした際に、いくつかの設定ファイルがリネームされるため、名前を変更して、念のために取っておきましょう。
警告: /etc/php.ini は /etc/php.ini.rpmsave として保存されました。
警告: /etc/httpd/conf.d/phpMyAdmin.conf は /etc/httpd/conf.d/phpMyAdmin.conf.rpmsave として保存されました。
警告: /etc/phpMyAdmin/config.inc.php は /etc/phpMyAdmin/config.inc.php.rpmsave として保存されました。
↑ (上記のようなメッセージが出たら、名前を変更して取っておきましょう)
mv /etc/php.ini.rpmsave /etc/php.ini.php54
mv /etc/php.ini.org /etc/php.ini.php54.org
mv /etc/httpd/conf.d/phpMyAdmin.conf.rpmsave /etc/httpd/conf.d/phpMyAdmin.conf.php54
mv /etc/httpd/conf.d/phpMyAdmin.conf.org /etc/httpd/conf.d/phpMyAdmin.conf.php54.org
mv /etc/phpMyAdmin/config.inc.php.rpmsave /etc/phpMyAdmin/config.inc.php.php54
これで、既存のPHPはすべてアンインストールできました。
次のステップに行きます
PHPバージョンを入れるために必要なレポジトリをインストール
remiレポジトリを使用します。
remiレポジトリは、サードパーティのリポジトリのため、OS公式のリポジトリより信頼性に劣り、極力使用しないほうが良いのですが、remiさんというRed Hat社の方が管理されているレポジトリで、現在PHP公式サイトで提供している日と同じ日にリリースされており、活発?なレポジトリのようです。
※しかし、サードパーティーのレポジトリのため、いつ提供が停止されるかは不明のため、そういったリスクはあることを理解した上でご使用ください。
# yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
# yum clean all
# yum update -y
新しいレポジトリをを登録したので、一応キャッシュをクリアして、更新するパッケージが無いか確認し、すべてのパッケージを最新にしておきます。
remiレポジトリの登録が終わったので、最終ステップに行きます。
PHP5.6のインストール、初期設定
php5.6のレポジトリを有効化してインストールします。一緒に必要と思われるパッケージもインストールします。
# yum install --enablerepo=remi,remi-php56 php php-mbstring php-mysql php-gd
# yum install --enablerepo=remi,remi-php56 phpMyAdmin
phpMyAdminもインストールします
あとは、設定ファイルを修正します。設定ファイルは環境によって調整する必要がありますので、ここでは割愛します
# cp -p /etc/php.ini /etc/php.ini.org
# vi /etc/php.ini →php.ini修正
cp -p /etc/httpd/conf.d/phpMyAdmin.conf /etc/httpd/conf.d/phpMyAdmin.conf.org
vi /etc/httpd/conf.d/phpMyAdmin.conf →phpMyAdmin.conf修正(アクセス許可設定など)
設定ファイルの修正が終わったら、httpdを再起動します
# httpd -t
# systemctl restart httpd
最後に、動作確認です
動作確認
まず、phpバージョンの確認を行います
# php --version
以下の画像のようになると思います
今度はphpinfo()出力するファイルを作成し、Webブラウザから確認してます
# cat /var/www/html/info.php
-----
<?php phpinfo(); ?>
-----
PHP5.6になっており、かつ、モジュール版になっていることが確認できると思います
最後に、phpMyAdminの確認もしてきましょう
phpMyAdmin.confのAlias設定したパスでアクセスしてみます
ユーザ名とパスワードを入力し、無事にログインできれば成功です
いかがでしたか。
今回は、PHP5.4 から PHP5.6 に変更する方法について示しました。
ほかの新しいバージョンに変更する方法もまとめれたらと思います。
では!