[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 メーリングリストの案内