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 连接?

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

4

1 回答 1

5

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

你能验证你安装的 PHP 是否已经编译了 openssl 吗?我知道检查这一点的唯一方法是使用phpinfo()页面并查找--with-openssl标志。

于 2013-02-20T18:51:10.127 回答