PHPエラー「Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket」の原因と解決方法

PHPのpg_connect関数でCentOS 5のPostgreSQL 8.1環境に接続する際に、ポート番号を省略していたので、ポート番号の追記をしてみたところ、以下のようなエラーメッセージが表示されてしまった。

Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5431"? in /var/www/html/test.php

《エラーとなったPHPプログラム》
$dbconn = pg_connect("port=5431 dbname=test_database user=postgres password=") or die("Could not connect");

PostgreSQLの標準のポート番号は、5432だが、何故か、私は間違った番号を指定してしまったようだった。

念のため、標準のポート番号を別の番号に変更していないかをpostgresql.confを見て確認する。

《PostgreSQLの設定ファイル》
/var/lib/pgsql/data/postgresql.conf
port = 5432

PostgreSQLの設定ファイルでは、標準のポート番号「5432」が設定されていた。

ポート番号の指定間違いが、今回のエラーの原因であろう。

《修正後のPHPプログラム》
$dbconn = pg_connect("port=5431 dbname=test_database user=postgres password=") or die("Could not connect");

正しいポート番号を指定することで、エラーは解消された。

前へ

PHPエラー「Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: fe_sendauth: no password supplied」の原因と解決方法

次へ

映画『STREET FIGHTER The Legend of Chun-Li / ストリートファイター ザ・レジェンド・オブ・チュンリー』を観た感想