以下のブログを参考にさせて頂いた。
- phpenv + php-buildでphpのバージョン管理 - わすれっぽいきみえ
- 複数バージョンの PHP を管理できる phpenv のインストール手順 : Serendip - Webデザイン・プログラミング
1. phpenvのinstall
phpenvを入れる
$ curl https://raw.github.com/CHH/phpenv/master/bin/phpenv-install.sh | sh
.zshrc
の設定
if [ -d $HOME/.phpenv ]; then export PATH="$HOME/.phpenv/bin:$PATH" eval "$(phpenv init -)” fi
ディレクトリの作成と、php-buildの導入
$ mkdir ~/.phpenv/plugins $ cd ~/.phpenv/plugins $ git clone git://github.com/CHH/php-build.git
2. brewfileを作成し、必要なものをinstall
基本的にBUILD ERRORが発生したら足りないものをbrewでインストールしていった。 毎回そのプロセスを踏むのはかなり辛いので、brewfileを使って一気に入れる。
brewfileについては、こちらに上げてある。 https://github.com/mapyo/dotfiles/blob/master/brewfile
このような形で作成した。 Macのどこかのフォルダに、このファイルを作成して、
brew bundle
で一通り入る。何か不要なものor実は足りなかったor。。。 とかあったらごめんなさい。。。 brewfile初めて書いてみたので、そこまで詳しくないっす。。。
3. phpのinstall
欲しいバージョンの確認
$ phpenv install --complete
5.5.13を入れた
$ phpenv install 5.5.13
ここで、ちょこちょこエラーが発生した。 brew bundleだけでは解決出来ないものなので、 下の方のビルドエラーと解決方法1と2を実施した。
installが終ったら。。。
# installされているバージョンの確認 $ phpenv versions * system (set by /Users/mapyo/.phpenv/version) 5.5.13 # 使う $ phpenv global 5.5.13 # 確認 $ php -v PHP 5.5.13 (cli) (built: Jul 3 2014 06:37:16) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans
終わった〜
所感
rbenv入れた時と比べると、結構手間がかかった。。。
ビルドエラーと解決方法1
----------------- | BUILD ERROR | ----------------- Here are the last 10 lines from the log: ----------------------------------------- configure: WARNING: bison versions supported for regeneration of the Zend/PHP parsers: 2.4 2.4.1 2.4.2 2.4.3 2.5 2.5.1 2.6 2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7 (found: 2.3). configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers. configure: error: Please reinstall libedit - I cannot find readline.h -----------------------------------------
以下のようにして解決。
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include /usr/include
参考: https://github.com/Homebrew/homebrew-php/issues/591#issuecomment-19477120
ビルドエラーと解決方法2
----------------- | BUILD ERROR | ----------------- Here are the last 10 lines from the log: ----------------------------------------- ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/math.h:718:12: note: 'finite' declared here extern int finite(double) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_NA, __IPHONE_NA); ^ 1 warning generated. /var/tmp/php-build/source/5.5.13/sapi/cgi/cgi_main.c:1824:10: warning: assigning to 'unsigned char *' from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] for (p = decoded_query_string; *p && *p <= ' '; p++) { ^ ~~~~~~~~~~~~~~~~~~~~ 1 warning generated. PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled. -----------------------------------------