Mac OSXに入れたApache2でphpを実行するためのステップをログ。
■ステップ1
本家のここからソースを落とし、適度に/usr/localとかに移動して解凍。
■ステップ2
ここを参考に
$ cd php-5.x.x
$ ./configure \
> --with-apxs2=/usr/local/apache2/bin/apxs \
> --with-mysql \
> --enable-mbstring \
> --enable-mbregex \
> --prefix=/usr/local/php5
とやるも、mysqlのヘッダーファイルが見つかりませんよと言われてエラーが出るので,今度は
$ ./configure \
> --with-apxs2=/usr/local/apache2/bin/apxs \
> --with-mysql=/usr/local/mysql \
> --enable-mbstring \
> --enable-mbregex \
> --prefix=/usr/local/php5
と明示的に指定してやると、できた。この後は
$ make
$ sudo make install
をやればよい。
このconfigureの際のオプションが鬼門らしく、最初php4を入れようとして
$ ./configure \
--with-apxs2=/usr/local/apache2/bin/apxs \
--enable-roxen-zts \
--enable-zend-multibyte \
--with-pgsql \
--with-mysql \
--enable-track-vars \
--enable-mbstring \
--enable-mbregex \
--with-gd \
--with-png-dir=/opt/local/lib \
--with-jpeg-dir=/usr/local/lib \
--with-zlib-dir=/usr/local/lib \
--with-zlib
等とやってみたが、何度もlibpng not foundというエラーが出まくった。
ちなみにDarwinPorts経由でlibpngは/opt/local/libに入ってるのに見つけてくれなかった。
なので5を入れてみた。4でもwith-png-dirオプションを外してみると出来るのかもしれない。
■ステップ3
Apache用のphpモジュールが出来ているのを確認。
$ ls /usr/local/apache2/module/
libphp5.so
■ステップ4
PHPの設定ファイル php.ini を適切な場所にコピーする。
$ cp php.ini-dist /usr/local/php5/lib/php.ini
■ステップ5
デフォルトでインストールの際にApache2の設定ファイルにLoadModuleを書き込んでくれるらしいので、確認
$ vi /usr/local/apache2/conf/httpd.conf
LoadModule php5_module modules/libphp5.so
■ステップ6
同httpd.confの最後に以下を追加して、再起動。
適当なphpファイルをhtdocs配下に置いて動作確認で完了。
AddType application/x-httpd-php .php .html
AddType application/x-httpd-php-source .phps
DirectoryIndex index.html index.php index.cgi index.shtml