2013-04-18 62 views
0
$dbconn = pg_connect("host=localhost dbname=mydbname user=myuser password=mypass") or die(pg_last_error()); 

回報Unable to connect to PostgreSQL server: FATAL: no pg_hba.conf entry for host "::1 ...",PHP的連接到PostgreSQL

我必須做什麼?

P.S.在文件php.ini模塊extension php_pgsql.dll已啓用

+0

你的'pg_hba.conf'文件包含什麼? – hjpotter92

+0

我不知道,這是遠程服務器。 – RIKI

+2

那麼你如何使用'host = localhost'呢? – hjpotter92

回答

2

Thisthis將幫助您確定問題的性質。

它看起來像你想的IPv6(因此::1)進行連接和主機的pg_hba.conf沒有一個規則,允許您從IPv6的環回地址(::1)爲用戶myuser連接到數據庫mypass

我懷疑服務器配置錯誤;若要解決此問題,請嘗試將主機指定爲127.0.0.1(IPv4回送地址)而不是localhost,或者只需要完全省略host=以使用unix域套接字(如果PHP支持的話)。

您的聲明「當使用mysql(在遠程服務器上)時,作爲主機值我們可以使用host = localhost權限嗎?」對於MySQL和PostgreSQL來說,是完全無意義的。如果它是遠程服務器,那麼它根據定義不在本地主機上。我想你可能會試圖說服務器是遠程的,因爲它不是你正在使用的計算機,但是它對你正在運行的程序是,因爲你正在遠程運行程序服務器(通過在遠程服務器上編輯它,通過FTP上傳程序文本,或其他)。