Snow Leopard + MacPorts1.8.0 の環境でPHPをコンパイル
忘れそうなのでメモ。
PHPとMySQL以外はMacPortsで管理
macbookのOSをアップグレードしたので、macportsも作り直すことにしました。
ただし、PHPはCGI版を利用して複数のバージョンでローカルでテストできるようにしたいので、ソースからコンパイルしました。
また、pdoを利用する関係でMySQLはportsからでなくMySQLのサイトからMac OSX用(x86_64)アーカイブを/usr/local/mysqlに展開しました。もちろん64bitです。
あとは、configure、make、make installと楽勝かと思いきや、makeでこけるこける。。
以下のページでずばり解決しました。
http://moudamekamoshirenai.g.hatena.ne.jp/onumerane/20090905/1252137013
必要なパッケージさえ入っていれば、最終的に「LIBS=-lresolv」を指定すれば大丈夫な事がわかりました。
最終的なconfigure
$ LIBS=-lresolv \ ./configure \ --prefix=/usr/local/php5210 \ --with-gd=/opt/local \ --with-jpeg-dir=/opt/local \ --with-xsl=/opt/local \ --with-mysql=/usr/local/mysql \ --with-mysql-sock=/tmp/mysql.sock \ --with-config-file-scan-dir=/usr/local/php5210/etc/php.ini.d \ --enable-mbstring \ --enable-zend-multibyte \ --with-iconv=shared,/usr \ --with-pdo-mysql=/usr/local/mysql/bin/mysql_config
PHPのバージョン切り替えにgitを活用
ローカルで開発するのに必要なphp-cgiを作成し、それぞれのphp-cgiをapache2のcgi-binに配置するのですが、
簡単にバージョンを切り替えることができるようにgitのbranchを利用して各バージョンごとのブランチを作ってみました。
そして、最終的に以下のようなbranchの一覧が完成しました。
% git branch [/opt/local/apache2/cgi-bin] master php-5.2.10 php-5.2.4 php-5.2.6 * php-5.2.8 php-5.3.0
これで、バージョンを切り替えたいときは
% sudo git checkout php-5.3.0
のようにチェックアウトすれば簡単にテスト環境のPHPのバージョンを変更できるようになりました。
快適。