无法连接到PostgreSQL服务器

时间:2013-05-03 03:43:58

标签: php postgresql heroku wampserver

我正在尝试连接到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-connect]:无法连接到PostgreSQL服务器:致命错误:主机“69.196.177.196”没有pg_hba.conf条目,用户“用户”,数据库“dbname”,SSL关闭在第53行的D:\ wamp \ www \ heroku_app \ test.php

这是什么问题?我该如何解决?

注意:这仅在我在本地计算机上运行时(通过WAMP服务器)。如果我将它部署到Heroku那么它运行正常

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

检查this quick tip以获取进一步的帮助,但是,简单地说,您可以使用以下方式获取凭据:

heroku pg:credentials COLOR

...其中COLOR是返回值的一部分:

heroku addons:add heroku-postgresql

加倍为command to add postgres to your application

答案 2 :(得分:0)

添加“sslmode = require;”连接字符串。