[Edit][Create New]
[ IndexPage / インストール / PHP ]

PHP

まずは、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

とりあえず入ってるみたい。動作確認は今度でいいや。

相変わらずインストールは疲れる。