无法连接到PostgreSQL服务器


Unable to connect to PostgreSQL server

我正在尝试连接到我的应用程序在Heroku的PostgreSQL数据库:

$host = "ec2-54-235-242-31.compute-1.amazonaws.com";
$username = "user";
$password = "pass";
$database = "dbname";
$port = "5432";
$dbconn = pg_connect("host=".$host." port=".$port
          ." dbname=".$database." user=".$username." password=".$password)
or die('Could not connect: ' . pg_last_error());

但是我得到这个错误:

警告:pg_connect() [function。pg_hba.conf中没有pg_hba.conf entry for host "69.196.177.196", user" user", database "dbname", SSL在D:'wamp'www'heroku_app'test.php on line 53

这里有什么问题?我该怎么修理它?

注意:这只发生在我在本地机器上运行时(通过WAMP服务器)。如果我把它部署到Heroku,它就能正常运行

这里的关键错误是SSL off。Heroku Postgres需要SSL进行外部连接。确保您的PHP是使用SSL编译的,并在连接sslmode=require中指定它。

  • Heroku Postgres: External connections (ingress)

查看这个快速提示以获得更多帮助,但是,简单地说,您可以使用以下方法获得凭据:

heroku pg:credentials COLOR

…其中COLOR是来自

的返回值的一部分
heroku addons:add heroku-postgresql

在您的连接字符串中添加"sslmode=require;"