最終的には以下のような感じになりました
5.3
configure_option "--enable-intl"
configure_option "--with-icu-dir" "$(brew --prefix icu4c)"
configure_option "--with-libxml-dir" "$(brew --prefix libxml2)"
configure_option -R "--with-tidy" "/usr/local"
install_package "http://snaps.php.net/php5.3-latest.tar.bz2"
install_pyrus
install_xdebug "2.2.0"
install_apc "3.1.13"
5.4
configure_option "--enable-intl"
configure_option "--with-icu-dir" "$(brew --prefix icu4c)"
configure_option "--with-libxml-dir" "$(brew --prefix libxml2)"
configure_option -R "--with-tidy" "/usr/local"
install_package "http://snaps.php.net/php5.4-latest.tar.bz2"
install_pyrus
install_xdebug "2.2.1"
install_apc "3.1.13"
5.5
configure_option "--enable-intl"
configure_option "--with-icu-dir" "$(brew --prefix icu4c)"
configure_option "--with-libxml-dir" "$(brew --prefix libxml2)"
configure_option -R "--with-tidy" "/usr/local"
install_package "http://www.php.net/distributions/php-5.5.4.tar.bz2"
install_pyrus
install_xdebug "2.2.3"
enable_builtin_opcache
- --enable-intl のために --with-icu-dir --with-libxml-dir が必要
- あとさらに C++ でないとダメなときがあるっぽい nojimage / fixes-5.3.sh
- gistそのままだとシェバングがアレだったり、Macだからだと思うけど sed でだめなので mix3 / fixes-5.3.sh
- --with-tidy のパス指定は相変わらず "/usr/local"
- brew --prefix だとなぜか上手く行かない
- 5.3 5.4 ではAPCを有効にするため install_apc を指定(pluginが最初から用意されてる)
- 5.5 では 5.5用のAPC が無い(というか開発されてない?)らしいので apcは入れない
- Zend OPcache なるものがあるらしく enable_builtin_opcache が 5.5.* の definitions で最初から指定されてる
- 5.5 だけ latest 指定でないのはfpmを使うと謎のセグフォして困ったから バグなのかなんなのかは不明
--enable-intl 少しハマってググってたら同じくハマってた人 --disable-intlしろとか言われてて「そうじゃねぇよ」ってなってて笑った
intlのために http://t.co/241ee9MM6R ここに来て https://t.co/TwSABxyxhU ここに来た
— mix3 (@mix3) October 9, 2013
https://t.co/HeGEH3q3RL symfony2使ってるから --enable-intl してるのに --disable-intl しろ言われててワロタ
— mix3 (@mix3) October 9, 2013
php.ini の date.timezone を毎回インストール後に弄るのあれなので php-build のトリガー機能を使って、インストール後自動で $PREFIX/etc/conf.d/date.ini を作ってそこに date.timezone の記述してみた
~/.phpenv/plugins/php-build/share/php-build/after-install.d/date.sh #!/bin/bash
set -e
if [ -n "$PHP_BUILD_DEBUG" ]; then
set -x
fi
date_ini="$PREFIX/etc/conf.d/date.ini"
if [ ! -f "$date_ini" ]; then
echo "[Date]" > $date_ini
echo "date.timezone = Asia/Tokyo" >> $date_ini
fi
これでオラオラとインストールしまくった めでたしめでたし
phpはなんでこんなにインストールが面倒なんや…