phpenvのインストール
$ brew install phpenv
.bashrcに追加
export PATH=$PATH:$HOME/.phpenv/bin
# bashの場合
eval "$(phpenv init -)"
# zshの場合
eval "$(phpenv init - zsh)"
php-buildのインストール
2013/08/27時点では、Homebrewのphp-buildが、Githubのリポジトリの0.9.0のタグから取得するようになっているので、PHPのバージョンが少し古かった。
今回はPHP5.5をインストールしたかったので、Formulaを少し修正して、masterブランチから取得してインストールできるようにした。
/usr/local/Library/Formula/php-build.rb の url の部分を以下のように修正してから、インストールする。
url 'https://github.com/CHH/php-build.git', :branch => 'master'
$ brew install php-build
使い方
インストール可能なPHPのバージョンを確認できる。
$ php-build --definitions
インストールする場合は、phpenvのディレクトリにインストールする。
phpenv rehash はインストール後必ず実行する必要があるみたい。
$ php-build {version} ~/.phpenv/versions/{version}
$ phpenv rehash
Apacheモジュールを生成する場合
Apacheモジュールを生成するには、configureパラメータを追加する必要がある
$ vi /usr/local/share/php-build/definitions/{version}
以下を一行を追加してから、php-buildコマンドでインストールすること。
configure_option "--with-apxs2" "/usr/sbin/apxs"
バージョンを切り替える
バージョンの切替は以下のコマンドで切り替える。
$ phpenv global {version}
Apacheモジュールを切り替える
phpenv-apache-versionというphpenvのプラグインを利用する。
リポジトリをphpenvのpluginsディレクトリに置く。
$ git clone https://github.com/garamon/phpenv-apache-version ~/.phpenv/plugins/phpenv-apache-version
使い方
必ずlibphp5.soが、 $HOME/.phpenv/versions/{version}直下にある必要があるので、php-buildでインストール後にコピーしておく必要がある
$ cp $HOME/.phpenv/versions/{version}/libexec/apache2/libphp5.so $HOME/.phpenv/versions/{version}/
libphp5.soをコピー後、以下のコマンドを実行するとlibphp5.soを入れ替えてApacheが再起動される。
$ phpevn apache-version {version}
MacでデフォルトのApacheを利用している場合
MacでデフォルトのApacheを利用している場合は動かないので少し手を加える。
.bashrcや.zshrcにPHPENV_APACHE_MODULE_PATHの環境変数を追加して、Apacheモジュールの置き場所を指定する。
export PHPENV_APACHE_MODULE_PATH=/path/to/directory
で、httpd.confのlibphp.soの指定場所をPHPENV_APACHE_MODULE_PATHにする。
LoadModule php5_module /path/to/directory