[pgsql-jp: 25645] Re: PostgreSQL server: (null)

Takao Kato sirius @ jp.fujitsu.com
2002年 4月 22日 (月) 09:13:02 JST


加藤@川崎です。

> PostgreSQL+Apache*+PHP4の初心者です。
> 
> ブラウザで見ることが出来るはずなのですが、ブラウザ上には以下の
> エラーメッセージしか。
> Warning: Unable to connect to PostgreSQL server: (null) in
> /usr/lib/apache/phplib-7.2c/php/db_pgsql.inc on line 47
> Database error: Link-ID == false, pconnect failed
> PostgreSQL Error: 0 ()
> Session halted.

ここまで来るとPHPの問題なのでPHP-ML行きかなぁ〜 ^^;
それと、別の方から突っ込みが入るかも知れませんが「初心者」と言う
言葉はこのMLの参加者には通用しないと思った方が良いですよ。
# かく言う私もネットワークに多少強いだけの初心者レベルです ^^;;

もうちょっとマンモス本orのPDF(PHPの内容)やシーラカンス本(ここ)を
読んで理解を深めることを奨めます。あとトラブルにぶつかったら
「一番簡単な形」を最初に実行して動作を確認するなどの方法を実行す
る方が良いと思います。

ちなみに本に付いている難しいサンプルは「かなりの確立」で失敗しま
す。理由としては必要条件が別々に書かれているため、例えばapache
ユーザを事前に作成しておく説明が実際にスクリプト(CD-ROMの中)とは
かなり離れた場所に書かれていたりするため、それが原因で動かなかっ
たりします。ですから、一番簡単な例をまず最初に実行するのが基本で
しょう。と僕は考えています。その上で、難しいサンプルスクリプトを
動かして見ると結構エラーの理由が想像つくものです。


今回のエラーメッセージも繰り返し失敗すれば気がつくものです ^^;;;
# 結構失敗したものだ(大笑)


で、本題ですがpg_pconnectでデータベースを開けられなかっただけの
話でしょう。pg_connect/pg_pconnectまわりで思いつく限り原因を書く
と、

 ・サーバが存在しない                                      PHP
   == サーバ名が間違っているなど
 ・(サーバはあるけれど)サービスが存在しない                PHP or PostgreSQL
   == TCPポートが開いていないなど
 ・データベース(or サービス)へのアクセスが許されていない   PostgreSQL
   == パーミッションなど
 ・データベースが存在しない                                PostgreSQL

があります。で、このうちの一つが答えになりますが、それは最初のメッ
セージに答えが隠されています。少し考えて下さい。ヒントは現段階では
PHPだけに問題があります。(ヒントではなく答えだな)
# あれだけあからさまにエラーが書かれているのだから気がつくだろう
# たぶん(自問自答)

では
----
加藤@川崎(今回は汗(^^;)ばっかり流しているなぁ)
お便りは kato @ lantc.cs.fujitsu.co.jp まで



pgsql-jp メーリングリストの案内