環境
- Mac OS(Mountain Lion)
- MacBookPro Ratina
- Homebrewインストール済み
Apacheインストール
$ brew tap Homebrew/dupes $ brew install httpd
MySQLインストール
$ brew install mysql
セットアップ
$ mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
起動
mysql.server start
rootのパスワード設定
mysqladmin -u root password 'new-password'
phpenvインストール
$ brew tap josegonzalez/php $ brew install --HEAD phpenv
.zshrcに追記
if [ -f $HOME/.phpenv/bin/phpenv ]; then export PATH=$PATH:$HOME/.phpenv/bin eval "$(phpenv init -)" fi
php-buildインストール
$ brew install php-build
PHP5.3.15インストール
Apacheモジュールが生成されるように定義ファイル修正
$ vim /usr/local/share/php-build/default_configure_options
下を追記
--with-apxs2=/usr/local/sbin/apxs
インストール
$ php-build 5.3.15 ~/.phpenv/versions/5.3.15
エラーが出る場合はその都度必要な物をインストール
$ brew install wget $ brew install re2c $ brew install jpeg $ brew install libpng $ brew install mcrypt
Apacheモジュールを退避
$ mv /usr/local/Cellar/httpd/2.2.22/libexec/libphp5.so ~/.phpenv/versions/5.3.15
Apacheのモジュール切り替えシェル
~/.phpenv/libexec/rbenv-apache-version を作成
#!/usr/bin/env bash set -e [ -n "$RBENV_DEBUG" ] && set -x # Provide rbenv completions if [ "$1" = "--complete" ]; then echo system exec rbenv-versions --bare fi RBENV_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" ]; then echo "rbenv: version \`${RBENV_VERSION}' not installed" >&2 exit 1 fi PHP_MODULE_PATH="$RBENV_PREFIX_PATH/libphp5.so" if [ ! -f "$PHP_MODULE_PATH" ]; then echo "apache module not found \'${PHP_MODULE_PATH}'" >&2 exit 1 fi if [ ! -d "$APACHE_MODULE_PATH" ]; then echo "Directory not found \'${APACHE_MODULE_PATH}'" >&2 exit 1 fi echo "copy ${PHP_MODULE_PATH} to ${APACHE_MODULE_PATH}" cp "$PHP_MODULE_PATH" "$APACHE_MODULE_PATH" echo "Restarting apache..." sudo apachectl restart
バージョン切り替え
確認
$ phpenv versions
切り替え
$ phpenv global 5.3.15
Apacheモジュール切り替え
$ phpenv apache-version 5.3.15
※うまく反映されない場合
$ phpenv rehash