[PHP-users 21379]Re: .forwardからの標準入力で起動したスクリプトでpg_connectができない

Y.Watanabe yuw @ msj.biglobe.ne.jp
2004年 4月 20日 (火) 14:57:59 JST


渡辺です。

環境変数がどうとかいうのも怪しいといえば怪しいですが、

cxn03651 @ msj.biglobe.ne.jp wrote on 2004/04/20 12:53
with Subject: [PHP-users 21367] Re: .forwardからの標準入力で起動したスクリプ
トでpg_connectができない

>  // postgreSQLへの接続テスト
>  $dbname = "cxn03651";
>  $constr = "dbname={$dbname}";
>  $con = pg_connect($constr);

上記のコードで、コマンドラインから/usr/bin/phpを直接たたいて実行すると
DBにちゃんと接続できて、画面経由でも接続できて、
メール経由で実行すると接続できない、
ということであればは、単に、
DB接続するときのユーザー設定の問題である、に一票。

(1) そもそも createuserコマンドでDBユーザーを作っていますか?

(2) create tableとかcreate indexして
    それらのテーブルやindexに、(1)で作ったDBユーザーへのGRANTを
    発行してますか?

環境のつくりなおしといった大掛かりなことをやる前に、

1. 何かテスト用DB(TESTDB)をcreatedbコマンドでつくり、
2. テスト用DBユーザー(TESTUSER)をcreateuserコマンドでつくり、
3. psql -d TESTDB -U TESTUSER でDBにはいり、
4. テスト用テーブル(TESTTABLE)をつくり、
5. そのテーブルに GRANT ALL ON TESTTABLE TO testuser して、
6. phpで pg_connecct("dbname=TESTDB user=TESTUSER"); とかいうコードを書き
7. そのコードを、コマンドたたき/画面/メール、のそれぞれで試してみる

ということを試してからでも損はないと思われます。





PHP-users メーリングリストの案内