[PHP-users 21373]Re: .forwardからの標準入力で起動したスクリプトでpg_connectができない
cxn03651 @ msj.biglobe.ne.jp
cxn03651 @ msj.biglobe.ne.jp
2004年 4月 20日 (火) 14:19:56 JST
Kenji Ono 様 <- 中村
お世話になります。
> test.phpの中でPGLIBとPGDATAの環境変数を拾ってメールで飛ばすよう
> にして見てください。
やってみました。コマンドラインからのリダイレクトで起動した場合は、
pg_connect()が成功した部分(!=falseの場合)のメール送信が行われましたが、
PGLIB、PGDATAともに何も設定されていませんでした。
// 環境変数の取得
$env = "";
$env .= "PGLIB=".getenv("PGLIB")."\n";
$env .= "PGDATA=".getenv("PGDATA")."\n";
// pg_connect()!=falseの場合の処理
mb_send_mail("cxn03651 @ msj.biglobe.ne.jp","Connect Success.",$env,"","");
これは環境変数を取得したときのソースの抜粋ですが、
PGLIB=
PGDATA=
という本文が返ってきました。
ちなみに、phpinfo();の出力中には、次の下りがありますが、PGLIB、PGDATA
に関する項目はありませんでした。
pgsql
PostgreSQL Support enabled
Active Persistent Links 0
Active Links 0
Directive Local Value Master Value
pgsql.allow_persistent On On
pgsql.auto_reset_persistent Off Off
pgsql.max_links Unlimited Unlimited
pgsql.max_persistent Unlimited Unlimited
> 環境変数が未設定状態になるようでしたら、PG_関係Functionは呼べま
> せん。
> だいたい、--with-pgsqlがないのに呼べているのが最大に不思議。(^^;;
しかしながら、コマンドラインからリダイレクトで起動した場合には
pg_connect()!=falseとなるので、???という感じです。頭が混乱してきまし
た。
> また、PG_CONNECTのエラーをなんとか拾いましょう。
私もそう思います。エラーコードを取得する関数とかがあるんでしょうね。探
してみます。
中村(cxn03651 @ msj.biglobe.ne.jp)
PHP-users メーリングリストの案内