最近、徐々にPHP 7系を要求するアプリケーションやフレームワークが多くなってきました。
一方で、CentOS 7はデフォルトでは古めのパッケージのみを提供しているので
sudo yum -y install php
としてもphp5.6系しかインストールできません。
しかし、CentOSで利用できる外部のリポジトリ”epel”と”remi”を用いることでphp7系をCentOS 7へインストールすることが可能になっています。
今回は、その方法をご紹介したいと思います。
まず、現時点で古いバージョンのPHPが入っている場合は、一度アンインストールが必要になります。
もし古いバージョンのPHPも必要な場合は複数のバージョンのPHPを共存させる必要となり、今回の手順ではセットアップできませんのでご注意ください。
PHPが既にインストールされているか確認します。
php -v
として
PHP 5.4.16 (cli) (built: Apr 12 2018 19:02:01) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
のようになっていれば、既に古いバージョンがインストールされているので、一旦アンインストールします。
sudo yum -y remove php-cli php-common
epelリポジトリをインストールします。
sudo yum -y install epel-release
remiリポジトリをインストールします。
sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
ここまで行えば、php7.1のインストールが可能になっています。
次のコマンドでphp7.1をインストールしてみます。
sudo yum install --enablerepo=remi,remi-php71 php php-devel
インストール完了後、再度php -vをして
php -v PHP 7.1.24 (cli) (built: Nov 7 2018 18:45:17) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
となっていれば成功です。
なお、remiリポジトリからphpに入れた際、PHPモジュールの参照先が別の場所になってしまうことがあるようです。
その場合は、php.iniに次の記述を追加してください。
extension_dir = "/opt/remi/php71/root/usr/lib64/php/modules"
※PHPバージョンによって異なります。”sudo rpm -ql インストールしたphpのパッケージ名”を実行してインストール先を確認してください。