Php连接到postgresql

时间:2013-04-18 13:46:25

标签: php postgresql

$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 ...",

我必须做什么?

P.S。在文件php.ini模块extension php_pgsql.dll已启用

1 个答案:

答案 0 :(得分:2)

Thisthis会帮助您确定问题的性质。

看起来您正在尝试通过IPv6进行连接(因此::1),并且主机的pg_hba.conf没有允许您从IPv6环回地址连接的规则({{1} })用户::1到数据库myuser

我怀疑服务器配置错误;要解决此问题,请尝试将主机指定为mypass(IPv4环回地址)而不是127.0.0.1,或者如果PHP支持,则完全省略localhost以使用unix域套接字。

您的语句“当使用mysql(在远程服务器上)时,作为主机值,我们可以使用host = localhost吗?”对于MySQL和PostgreSQL都是完全没有意义的。如果它是远程服务器,那么根据定义它不在localhost上。我猜想你可能会试图说服务器是远程的,因为它不是你正在使用的计算机,但它是你运行的程序的本地 因为你正在运行远程服务器上的程序(通过在远程服务器上编辑它,通过FTP上传程序文本,或其他)。