(Mac)phpbrewでPHPのバージョンを切り替える

phpbrewのセットアップと使用方法

OSにバージョン違いのPHPを複数インストールし、
任意のタイミングで使用するバージョンを切り替える事を可能にする「phpbrew」というツールをMacに導入する手順をメモします。

環境: Mac OS 10.13.6、Homebrew 2.2.5、phpbrew 1.25.3

Homebrewを使用してPHPをインストールする

任意のバージョンのPHPをMacへインストールするにはパッケージマネージャーのHomebrewというツールも必要になりますので、
あらかじめインストールして使えるようにしておきます。

homebrewが既にインストールされているかどうかはターミナルから
バージョン確認コマンド brew -v を実行して確かめることができます。

Homebrewの詳細とインストール方法

Homebrewが準備出来たらphpbrewをセットアップしていきますが、
Macに初めからインストールされているPHPのバージョンが古い場合は、

Warning! The usage of PHP older than 7.2.0 as the interpreter is deprecated.
Please set the system interpreter using ‘phpbrew system <version>’.
See https://github.com/phpbrew/phpbrew/wiki/System-Interpreter for details.

上記のようなメッセージが出てphpbrewを上手くセットアップ出来ないようですので

homebrewを使用してあらかじめ、バージョン7.2以降のPHPをインストールしておきます。

インストール出来るPHPの確認

7.4系をインストールしておきます。

phpbrewのセットアップ

最新版のPHPがインストール出来たら、phpbrewのセットアップに移ります。

※基本的にphpbrew公式ドキュメントに沿って進めていけば良いと思いますが、
本記事執筆時の環境でのエラー発生箇所と解決方法も含めてメモしていきます。

phpbrewインストール、初期化、bashの設定

※ターミナルがbashではなく、zshの場合は、最後の「~/.bashrc」を「~/.zshrc」にします

インストールが完了しphpbrewコマンドが使用出来るようになったら、
他のバージョンのPHPをインストールしてみます。

他のバージョンのPHPをインストール

phpbrew known でインストール出来るバージョン一覧を確認します。
(行ごとに各バージョンの一覧が表示されている)

例として上記から7.3系のインストールを行います。
phpbrew install コマンドを実行

phpbrew installコマンドでインストールに失敗!

(Ctrl + C でインストール処理を中断)

上記で表示されたphpbrew installを実行するため足りないソフトウェア(does not exist.)を
brew installコマンドでまとめてインストールします。

brew install libxml2 bzip2 mhash curl

足りないソフトウェアのインストールが完了したら、PHPのインストールを再度試みます。
(ドキュメントの通り、次は +defaultを付けて実行してみた)
phpbrew install 7.3.14 +default

(PHPバージョン 7.3.14が無事インストール出来た模様)

phpbrew list コマンドでバージョンの一覧を表示

上記の内容から、あらかじめインストールしていたバージョン7.4系が消えてなくなりましたが、
とりあえず進めます。

phpbrew useでバージョン切り替えに失敗

今存在するバージョン 7.3.14を使用するために
phpbrew useコマンドを実行

Invalid argument php-7.3.14
次は上記のようにエラーが出てphpbrew useを実行出来ませんでした。

【解決】

いろいろ試行錯誤した挙句、
下記のsourceコマンドを実行することで解決しました。

※参考 https://github.com/phpbrew/phpbrew/issues/562

sourceコマンドを実行するとプロセスが終了します。

上記の内容が表示されたら、ターミナルから新しいウィンドウを開いて再開。

phpbrew use コマンドが実行出来るようになっていました。

※この辺りは理解が完全でないのですが、
先に行なった ~/.bashrcへの追記を消してもコマンドは実行出来るようです。

(phpbrew listで選択出来るバージョン一覧を表示確認)

他バージョンへの切り替えと確認

他のバージョンのPHPをインストールしてみます。
先ほど消えてしまった7.4系から選択して再インストール

インストールが完了したら、phpbrew listでインストール済み一覧を表示。

7.4系が無事インストール出来ており、先にインストールした7.3系も存在しています。

インストールし直した、7.4系に切り替えてみます。

PHPのバージョン確認コマンド php -v を実行

phpbrew useコマンドで切り替えたバージョンが表示されるようになっていればOKです。

Follow me!