まずは、Apacheの再コンパイルから。Apacheはmod_gzipも入っているので、
./configure --enable-module=so --add-module=mod_gzip.c
とする。最初のオプションがPHP対応に必要なmod_so.cのインストールの指示。
次に、PHPを解凍して、./configureを実行する。一番目のオプションがPostgreSQLのサポート。二番目がApacheへの組み込み用。makeしてmake install。
/usr/local/apache/bin/apachectl stop /usr/local/apache/bin/apachectl start
として再起動するのを確認。次はPHPのコンパイル。
./configure --with-pgsql --with-apxs=/usr/local/apache/bin/apxs
これはうまくいった。次はmake。
make (略) /usr/local/src/php/php-4.3.1/ext/pgsql/pgsql.c:2846: Undefined symbol `_PQsetnonblocking' referenced from text segment
これはPQsetnonblockingがインストールされていないせいだと思う。かなりPostgreSQLのバージョンが古いので、PostgreSQLのバージョンを入れ替えれば直るはず。
postgresqlを入れなおしたらちゃんとコンパイル通った。
make & make install cp php.ini-dist /usr/local/lib/php.ini /usr/local/apache/bin/apachectl stop /usr/local/apache/bin/apachectl start
これでOK。あとは/usr/local/apache/conf/httpd.confを適宜書き直したりしておしまい。
% telnet *.*.* http Trying *.*.*.*... Connected to *.*.*. Escape character is '^]'. HEAD / HTTP/1.0
HTTP/1.1 200 OK Date: Sat, 12 Jul 2003 23:30:42 GMT Server: Apache/1.3.19 (Unix) PHP/4.3.1 mod_gzip/1.3.19.1a
とりあえず入ってるみたい。動作確認は今度でいいや。
相変わらずインストールは疲れる。