CentOS7 で PHP5.4 から PHP 5.6 に変更する方法

CentOS7の標準レポジトリでは、PHP5.4が提供されています。

 

PHP公式では、PHP5.4のセキュリティサポート期限は2015/09/14だったため、すでに期限切れになっていますが、CentOSとして、CentOS7のセキュリティサポート期限まで、PHP5.4をサポートしているため、現在でも利用することができます。

 

しかし、最新のプラットフォームなどを利用してソフトウェア開発をしたい場合など、古いPHPではダメな場合があると思います。

そういった際に、CentOS7の標準レポジトリで入れたPHP5.4をアンインストールして、より新しいバージョンのPHPをインストールします。

 

 

 

CentOS標準以外のパッケージをインストールすることになるため、保守により手間がかかる、開発スパンが短くなるなどのリスクはあります。そのため、PHPバージョンを上げる場合は、十分に検討してから行ってください。

f:id:adakkuma:20170706020923j:plain

 

今回は、PHP5.4 から PHP5.6 にする方法についてになります。

 

流れとしては、下記となります。

  1. 既存のPHPをアンインストー
  2. 新しいPHPバージョンを入れるために必要なレポジトリをインストー
  3. PHP5.6のインストール、初期設定
  4. 動作確認

 

既存の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

以下の画像のようになると思います

f:id:adakkuma:20170719012117p:plain

 

今度はphpinfo()出力するファイルを作成し、Webブラウザから確認してます

# cat /var/www/html/info.php
-----
<?php phpinfo(); ?>
-----

f:id:adakkuma:20170719012244p:plain

PHP5.6になっており、かつ、モジュール版になっていることが確認できると思います

 

最後に、phpMyAdminの確認もしてきましょう

phpMyAdmin.confのAlias設定したパスでアクセスしてみます

f:id:adakkuma:20170719012350p:plain

ユーザ名とパスワードを入力し、無事にログインできれば成功です

 

いかがでしたか。

今回は、PHP5.4 から PHP5.6 に変更する方法について示しました。

 

ほかの新しいバージョンに変更する方法もまとめれたらと思います。

では!