我正在尝试从本地运行的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连接?
有人有线索吗?这会有很大的帮助!
答案 0 :(得分:5)
Heroku Postgres需要sslmode进行外部连接。您可能需要使用--with-openssl[=dir]
编译标志编译PHP。有关详细信息,请参阅此处:http://www.php.net/manual/en/book.openssl.php
您能否验证PHP的安装是否已使用openssl编译?我知道检查这个问题的唯一方法是使用phpinfo()
页面查找--with-openssl
标记。