良くある問題
undefined pg_connect()
Call to undefined function: pg_connect()
apache が postgresql Module (pgsql.so) を見つけていない時にこうなる
(動的に組込むとは限らず、静的に link する場合もあるが、
それがうまく行っていない)。
phpinfo() を表示した時に postgres が含まれていないはず。
apache -> php4 -> pgsql のつながりがあるかを確認する。
-
apache の設定
の httpd.conf に次の行があるか
LoadModule php4_module lib/httpd/mod_php4.so
AddModule mod_php4.c
( httpd.conf の位置は、例えば /usr/pkg/etc/httpd/httpd.conf)
もっとも、 apache を作る時に、次のように
組込んでしまう
方法もある
./configure --activate-module=src/modules/php4/libphp4.a
-
php4-pgsql を組立てて必要な設定
をしているか
簡単に書けば
-
/usr/pkgsrc/database/php4-pgsql で
make ; make install
して
pgsql.so を 入れておく。入るのは例えば
/usr/pkg/lib/php/20010901/pgsql.so
のようなところ。
-
/usr/pkg/etc/php.ini
に (上の例で言えば)
extension_dir = /usr/pkg/lib/php/20010901/
extension=pgsql.so
と書いておく
Linux/woody を使っていた方の場合:
http://lists.debian.or.jp/debian-users/200110/msg00058.html
(この場合:
結局、sid にアップグレードし、poolからphp4-pgsqlをとってきて、終わりました。
とおっしゃっています。
その他、
php3 php4 pg_connect "Call to undefined functions"
で
検索する
と、いつくか見つかる
|