【Virtualmin】PHP7.1をSCLでインストールする

2018/08/09

サーバ管理ツールはもっぱらWebmin+Virtualminを使ってます。 Virtualminインストール時にセットアップされるPHPのバージョンは5.4と7.0がデフォルトです。PHP7がインストールされるのはうれしいですが、せめて7.1にしたいのでどうせならSoftware Collections(SCL)でインストールします。
※ CentOS7.4でSCLを別途インストールすれば、Virtualminを導入していない環境でも簡単に複数バージョン導入できます。

環境

  • CentOS 7.4
  • Webmin
  • Virtualmin

PHP7.1をインストール

以下のサイト通りにインストールしていきます。

https://www.softwarecollections.org/en/scls/rhscl/rh-php71/

Virtualminをインストールした際にSCLはインストールされてるのでPHPのインストールからです。

$ sudo yum install rh-php71

SCLではインストール先が/opt/rh以下になります。

$ ls -l /opt/rh
dr-xr-xr-x 6 root root 121 Jul 12 07:19 rh-php70
dr-xr-xr-x 6 root root 121 Aug  7 23:31 rh-php71

ここまででphp5.4、7.0、7.1と3バージョンのPHPがインストール済みになりました。

PHPのバージョンの切り替え

それではPHP7.1に切り替えます

scl enable rh-php71 bash
php -v

PHP 7.1.8 (cli) (built: Aug  9 2017 13:20:06) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

問題ないですね!

VirtualminからPHPのバージョン切り替え

それでは早速Virtualminからバーチャルドメインで使用するPHPのバージョンを切り替えてみます。

  • Virtualmin – Server Configuration – PHP Versions

切り替え!

  • phpinfo を確認します。

    問題なし!

これでめでたくPHP7.1の環境が出来上がりました。

まとめ

SCLにより複数のPHPのバージョンを簡単に切り替えることができるのでお勧めです。 今度は、7.3を入れてみようかな。

PHP7.2をインストール 2019/10/4

追加でPHP 7.2の環境が必要になりましたが、SCL+Virtualminで簡単に環境が作成できました。

インストール方法は7.1変わらず

$ sudo yum install rh-php72

バージョン切り替えてみます

$ scl enable rh-php72 bash
$ php -v
PHP 7.2.10 (cli) (built: Nov 16 2018 15:24:33) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

シェルログイン時にSCLでインストールしたPHPのバージョンに切り替える

Laravelで作成したアプリをdeployer等のデプロイツールを使ってデプロイする際、いちいちscl enable~を実行しないといけないのはつらいです。そういう場合はシェルログイン時に自動できりかえるようにしましょう。

.bashrcを開き一番最後の行とかに付け加えれがOKです。

.bashrc

...
# User specific aliases and functions
source scl_source enable rh-php72

便利!