Install PHP 5 on Mac OS X

Date
2006-01-29 (Sun)

Project の立て直しの始まりとして、ってなんかこんなことばっか書いてる気もするけれど、Local の Mac OS X (10.3.9) に環境を構築しようと思う。というか、MySQL はこの間新しくしたから動く筈、と思ったのだけれど、PHP のバージョン(4系)が古くて、MySQL の文字コードを指定した接続に失敗していたので、問題解決した記録をば。今回作業したのは PHP 5.1.2。

そもそも、入っていた PHP は、Marc Liyanage の自家 build っていう腑抜けな僕。いや、本家から、Mac OS X 向け binary としてリンクされてるくらいだから、よく出来たパッケージには違いないんだけど、なにぶん古いし MySQL を触ったときの様な“よく出来てる感”はないねぇ。

とりあえず入ってるのは uninstall する。検索した所、特に uninstall 方法は提供されて無いみたい。ので、此のスレッドを参考にして、/usr/local/php を別の場所に保存。で、httpd.conf 内を編集して、apache からは切り離される、と。

さて、普通に php の source をダウンロードして、そのまま ./configure して make && make install では済んでたら、今回のエントリになったわけでいくつも、エラーがありました。先に結論というか、Configure option の結果から。


./configure \
--with-apxs \
--with-libxml-dir=/usr/local/lib \
--enable-mbstring=all \
--enable-mbregex \
--with-curl=/usr/local/include/curl \
--enable-exif \
--with-gettext=/sw \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-xmlrpc \
--with-xsl=/sw/lib \
--with-zlib

Ming とか PDFlib とか GD とかは興味はあったんですが今回はパスしました。その手の library はいっぺん整理しなくちゃな、と思ってるんだけど、Fink 使ってインストールしたのと、自分でコンパイルして、/usr/local/ 以下にぶち込んだのと結構ごた混ぜで時間掛りそうなので、というのが理由です(lazy butts) 。ま、Tiger (10.4) したら全部変わるし(っていつから言ってる…)。

まず、configure の時点で cURL が最初にこけました。マニュアルにあるように libcurl 7.10.5 が必要ですが、 OS X 10.3.9 に入ってるのは 7.10.2 でした。http://curl.haxx.se/ から最新版をダウンロードして、./configure, make && make install で、/usr/local/ に 7.15.1 がインストールされました。ので、curl lib dir は上のようになりました。

gettext やら libxslt やらは昔 fink でインストールしたのをそのまま流用。指定ディレクトリは、各拡張機能のページを読んで、要件にあった内容を記述。gettext は最初 /sw/include を指定していたけれど、それだと libintl.h が無いと、エラーが出たので、/sw にして解決。
(別件だけど、今回いくつか library をアップデートしようかと思って FinkCommander を起動したけど、Window が開いて虹色円盤回りっぱなしのフリーズだった。なぜ?sf.net にあるらしい Home も繋がらないし。MacUpdate に掲載されていた、sf.net のダウンロードで、0.5.4 にしても、結局同じ。というか、多分パッケージ名は 0.5.3 だったけど、中身は 0.5.4 にした筈。ま、深追いはしませんでした。)

configure は終わって、make したら、なんだか libXML がどうのってエラーが出る。なので、libXML2 をダウンロードして、.configure / make && make install で /usr/local 以下にインストール。

それでも make すると libXML 周りのエラーが出る。よくよくエラーメッセージを読むと、さっきインストールしたのディレクトリを参照するよう指定している筈なのに、php のソースと同梱の ext 以下にある xml 関連の関数を見に行ってるみたい。3回くらい configure スクリプトを走らせた(make clean / make の繰り返し)がダメ。

一応ダウンロードしてきた .tar.bz2 ファイルの md5 値を計算。


[luc:/unix/src] # md5sum php-5.1.2.tar.bz2
79cee17e9db85be878000a2a4198378e php-5.1.2.tar.bz2

あってるし、おかしな所は何も無いので、一度展開したソースツリー全消去して、もう一度まっさらな状態から configure して、make && make install したら、うまく行った。

あとは、httpd.conf だけれども、


LoadModule php5_module libexec/httpd/libphp5.so
AddModule mod_php5.c

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

というエントリが何処かに一度だけあれば良い。僕の場合は、httpd.conf には書かずに、同じディレクトリ内の users というディレクトリに用途と、読み込みの順番毎にファイル名を付けて、運用しています。だから /etc/httpd/users は


01mount_data_partation.conf
02enable_php.conf
03phpmyadmin.conf
04ktv.conf
05bulktagger.conf

とかなってます。

Comment:0

Comment Form

Remember Me?


Trackback:0

TrackBack URL for this entry
http://blogs.grf-design.com/mt/mt-tb.cgi/135
Listed below are links to weblogs that reference
Install PHP 5 on Mac OS X from The Croton

Return to Page Top