ruby、pythonと同様にphpもバージョンを切り替える必要性は高いはずなので、
phpenvのインストール
phpenvのメジャーなリポジトリが2種類あって、両方ともそれほど更新が無いのだけど、枯れてるからなのか・・・
https://github.com/phpenv/phpenv
https://github.com/CHH/phpenv
前者の方が本元っぽいが、後者の方がまだ更新されているので、後者を選択。
インストールスクリプトphpenv-install.shを実行
curl -L https://raw.github.com/CHH/phpenv/master/bin/phpenv-install.sh | bash
インストールしたら、下記のように~/.bashrcに設定してねと言われる。
export PATH="/Users/名前/.phpenv/bin:$PATH"
eval "$(phpenv init -)"
Add above line at the end of your ~/.bashrc and restart your shell to use phpenv.
zshなら~/.zshrcに記載。
あと、
export PATH="/Users/名前/.phpenv/bin:$PATH"
eval "$(phpenv init -)"
より
export PATH="~/.phpenv/bin:$PATH"
eval "$(phpenv init -)"
の方が汎用的でdotfileをいろんな環境で使いまわす上でよい。
設定を読み込む
source ~/.bashrc
phpを複数バージョン使えるようになるプラグインphp-buildをインストール
git clone git://github.com/php-build/php-build.git ~/.phpenv/plugins/php-build
とか書いていたのだけど、下記ですべていいようにやってくれるっぽい。インストール後だったからか自分の環境では失敗したけど。
https://github.com/php-build/php-build より
curl -L http://git.io/phpenv-installer | bash
phpのインストール
phpに必要なライブラリをインストール
brew install libevent libjpeg libpng mcrypt libtool openssl autoconf libxml2 lemon re2c
インストール可能なphpバージョン一覧
phpenv install -l
特定のphpのインストール
phpenv install 7.0.9
下記のようなエラーが出るので、対処
/var/tmp/php-build/source/7.0.9/ext/openssl/openssl.c:44:10: fatal error: 'openssl/evp.h' file not found
下記のようにopensslとlibxmlを指定してインストールしないと駄目ぽい。面倒。。
PHP_BUILD_CONFIGURE_OPTS="--with-openssl=$(brew --prefix openssl) --with-libxml-dir=$(brew --prefix libxml2)" PHP_BUILD_EXTRA_MAKE_ARGUMENTS=-j4 phpenv install 7.0.9
インストールされたことを確認
% phpenv global 7.0.9 [13:26:30]
% phpenv versions [13:26:42]
system
* 7.0.9 (set by ~/.phpenv/version)
% php -v
PHP 7.0.9 (cli) (built: Oct 10 2016 13:23:25) ( NTS )