我是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
我对此有点困惑,如果有人建议让它运行起来。
谢谢大家!
答案 0 :(得分:0)
如果您指定127.0.0.1
作为主持人,它将尝试在heilohost.org
而非您的iMac上点击您的网络服务器。如果你真的想这样做(并且有很多理由可以解释它),你必须设置listen_address=0.0.0.0
,将路由器上的端口转发给你的iMac,在连接字符串中使用您的public IP地址。