phpenv と php-build で複数の PHP を Mac のローカルで管理する
おはようございます。もじばけおでございます。
先日カッとなって MacBook Pro の Retina モデルを購入してしまいました。
カッとなった理由については深く突っ込まないでください(真顔)
というわけで、複数の PHP をビルドして管理するわけなんです。
インターネッツ社会な昨今、ググればすぐに情報出てくるわけなんですが、
既存の素敵な記事を読んでも詰んでしまうわたくし向けにまとめをば。
事前準備
phpenv
php-build
インストール
- brew install はしない
- phpenv の plugin として追加しましょ
git clone https://github.com/CHH/php-build/ ~/.phpenv/plugins/php-build cp ~/.phpenv/plugins/php-build/bin/phpenv-install ~/.phpenv/plugins/php-build/bin/rbenv-install sed -i -e "s/# Provide phpenv completions/# Provide rbenv completions/g" ~/.phpenv/plugins/php-build/bin/rbenv-install
phpenv install
- とりあえずここでは 5.5.0RC3 あたりをいれてみましょうか
phpenv install 5.5.0RC3
- こんなのでるかも(でないかも)
----------------- | BUILD ERROR | ----------------- Here are the last 10 lines from the log: ----------------------------------------- "_sk_shift", referenced from: _load_all_certs_from_file in openssl.o "_sk_value", referenced from: _zif_openssl_csr_new in openssl.o _zif_openssl_pkcs7_verify in openssl.o _php_openssl_parse_config in openssl.o _php_openssl_sockop_set_option in xp_ssl.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [libs/libphp5.bundle] Error 1 -----------------------------------------
- 以下で解決するんじゃなかろうか
brew install openssl brew link openssl --force exec $SHELL -l
- 作成された libphp5.so を cp
# httpd が2.2.23前提なので適宜読み替えてくだしあ sudo cp /usr/local/Cellar/httpd/2.2.23/libexec/libphp5.so ~/.phpenv/versions/5.5.0RC3/
- phpenv を更新
phpenv rehash
- これで追加したものが表示されればおk
phpenv versions
phpenv-apache-version 導入
- phpenv で切り替えるたびにごにょるのが面倒なので導入します
git clone https://github.com/garamon/phpenv-apache-version ~/.phpenv/plugins/phpenv-apache-version
ためしに切り替えてみる
- とりあえずデフォルトの version 確認
bko@:~$ php -v PHP 5.3.15 with Suhosin-Patch (cli) (built: Dec 9 2012 19:32:02) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
- 切り替えてみる
phpenv global 5.5.0RC3
- どや
bko@:~$ php -v PHP 5.5.0RC3 (cli) (built: Jun 26 2013 01:58:06) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.5.0-dev, Copyright (c) 1998-2013 Zend Technologies with Xdebug v2.3.0dev, Copyright (c) 2002-2013, by Derick Rethans
bko@:~$ phpenv apache-version 5.5.0RC3 copy /Users/bko/.phpenv/versions/5.5.0RC3/libphp5.so to /usr/local/opt/httpd/libexec Restarting apache... Password:
以上!!