macでPHP環境構築の続き。
以前の記述の追加で。
こことかこことかここを参考にさせて頂いて、macで複数バージョンのPHPを入れるということでがんばってみた。
◆事前準備
brew tap Homebrew/dupes
brew tap josegonzalez/php
◆ついでなのでapacheもbrewから入れておく
brew install httpd
うちの環境ではhttpd.confは/usr/local/etc/apache2/httpd.confにありました。
◆phpenv
brew install –HEAD phpenv
その後、.bashrcに
# phpenv
export PATH=”$HOME/.phpenv/bin:$PATH”
eval “$(phpenv init -)”
と追記して、
source~/.bashrc
と叩いて読み込み直しして完了、だと思う。
◆php-build
brew install php-build
# php-buildのPATHを追加$vi~/.bashrcexportPATH=/usr/local/bin:$PATH# 設定したPATHの設定を有効にする$source~/.bashrc
上記を入れて、その後php-buildから各バージョンのPHPを入れる。
php-build X.X.X ~/.phpenv/versions/X.X.X
mv (生成したlibphp5.soのパス) ~/.phpenv/versions/X.X.X
っていう感じで。
php-build –definitions
で出てくるリストは、
/usr/local/share/php-build/definitions
内に追記すれば自分で追加できる。
最新のものとか、ベータ版とか入れる時には自分でここに入れると良いかも。
で、最終的にいろいろやってインストールできたら、
phpenv versions
でインストールされているものが確認できて、
phpenv global X.X.X
でCLI側のPHPが切り替えできる。
CLI側で使用しているPHPのバージョンを調べるのは簡単で、
php -v
って叩けば出てきてくれる。
けど、apache側は上記では切り替えできないので、それ用のスクリプトを用意する。
~/.phpenv/libexec/rbenv-apache-version
#!/usr/bin/env bashset-e[ -n"$RBENV_DEBUG"] &&set-x# Provide rbenv completionsif["$1"="--complete"];thenechosystemexecrbenv-versions --barefiRBENV_VERSION="$1"RBENV_ON_FILE="${RBENV_ROOT}/versions"APACHE_ROOT="/usr/local/Cellar/httpd/2.2.22"APACHE_MODULE_PATH="${APACHE_ROOT}/libexec"# Make sure the specified version is installed.RBENV_PREFIX_PATH="${RBENV_ROOT}/versions/${RBENV_VERSION}"if[ ! -d"$RBENV_PREFIX_PATH"];thenecho"rbenv: version \`${RBENV_VERSION}' not installed">&2exit1fiPHP_MODULE_PATH="$RBENV_PREFIX_PATH/libphp5.so"if[ ! -f"$PHP_MODULE_PATH"];thenecho"apache module not found \'${PHP_MODULE_PATH}'">&2exit1fiif[ ! -d"$APACHE_MODULE_PATH"];thenecho"Directory not found \'${APACHE_MODULE_PATH}'">&2exit1fiecho"copy ${PHP_MODULE_PATH} to ${APACHE_MODULE_PATH}"cp"$PHP_MODULE_PATH""$APACHE_MODULE_PATH"echo"Restarting apache..."sudoapachectl restart
上記ファイル生成後、
chmod755/Users/***/.phpenv/libexec/rbenv-apache-version
で実行権限をつけてやる。
上記が終われば、
phpenv apache-version X.X.X
でapache側のPHPが切り替えできる。
apacheの再起動がかかるのと、sudoするからパスワードを聞かれることがあるのはお忘れなく。
とりあえず、入れられること、切り替えができることまでは確認できたので
本当に入れたいバージョンやら、入れたいオプションやらを追求して
改めて開発環境が整うのは…いつだろw
コメントはまだありません。