PHP连接到PostgreSQL,FATAL:用户密码验证失败

时间:2014-09-02 15:00:47

标签: php postgresql database-connection

我是postgreSQL和web开发的新手,最近我尝试通过PHP连接我之前创建的数据库。但事情并没有成功,我得到了用户postgres的密码验证失败。我一直在寻找无处不在但却找不到解决这个问题的方法。

数据库托管在我的iMac,端口5432和heliohost.org上的php脚本中,稍后将用于查询数据库。

这是我的php脚本:

<?php 
$host        = "host=127.0.0.1";
$port        = "port=5432";
$dbname      = "dbname=osm";
$credentials = "user=postgres password=newPassword";

$db = pg_connect( "$host $port $dbname $credentials"  ); 

if(!$db){
  echo "Error : Unable to open database\n";
} else {
  echo "Opened database successfully\n";
} 
?>

我的pg_hba.conf看起来像这样:

本地所有postgres md5

我的postgresql.conf有:listen_addresses = localhost

我对此有点困惑,如果有人建议让它运行起来。

谢谢大家!

1 个答案:

答案 0 :(得分:0)

如果您指定127.0.0.1作为主持人,它将尝试在heilohost.org而非您的iMac上点击您的网络服务器。如果你真的想这样做(并且有很多理由可以解释它),你必须设置listen_address=0.0.0.0,将路由器上的端口转发给你的iMac,在连接字符串中使用您的public IP地址。