如何在本地连接的PHP中连接到Heroku的PostgreSQL数据库

9
我正在尝试从本地运行的php代码访问我的Heroku Postgres数据库。
pg_connect("host=myhost port=5432 dbname=mydb user=me password=*** sslmode=require options='--client_encoding=UTF8'")

代码在Heroku上运行时很好,但在本地无法运行(这些值是由Heroku给出的)。

我得到了这个错误:

无法连接到PostgreSQL服务器:当不编译SSL支持时,sslmode值“require”无效

如果我删除sslmode,则会出现以下错误:

网络不可达。服务器在主机“myhost”上运行,并且在端口5432上接受TCP/IP连接吗?

有人知道原因吗?这将非常有帮助!


当你说本地时,是将host=更改为本地主机吗? - Robert H
1个回答

5
Heroku Postgres对外部连接需要sslmode。您可能需要使用--with-openssl[=dir]编译标志编译PHP。有关更多信息,请参见此处:http://www.php.net/manual/en/book.openssl.php 您能验证PHP的安装是否已经编译了openssl吗?我知道的唯一检查方法是使用phpinfo()页面,并查找--with-openssl标志。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接