我正在尝试连接到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那么它运行正常
答案 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
答案 2 :(得分:0)
添加“sslmode = require;”连接字符串。