如何从php中的本地连接连接到Heroku postgres数据库

时间:2013-02-20 15:22:41

标签: php postgresql heroku local

我正在尝试从本地运行的php代码访问我的Heroku Postgres数据库。

pg_connect("host=myhost port=5432 dbname=mydb user=me password=*** sslmode=require options='--client_encoding=UTF8'")
当代码在Heroku上运行时,

运行良好,但不在本地运行。 (值是Heroku给出的值)

我收到此错误:

  

无法连接到PostgreSQL服务器:sslmode值“require”   在

中未编译SSL支持时无效

如果删除sslmode,我会收到此错误:

  

网络无法访问服务器是否在主机“myhost”上运行   接受端口5432上的TCP / IP连接?

有人有线索吗?这会有很大的帮助!

1 个答案:

答案 0 :(得分:5)

Heroku Postgres需要sslmode进行外部连接。您可能需要使用--with-openssl[=dir]编译标志编译PHP。有关详细信息,请参阅此处:http://www.php.net/manual/en/book.openssl.php

您能否验证PHP的安装是否已使用openssl编译?我知道检查这个问题的唯一方法是使用phpinfo()页面查找--with-openssl标记。