4

是否可以从本地运行的 PHP 应用程序连接到 Heroku postgres(免费)数据库实例。我能够成功连接 pgAdminIII,但是通过连接到同一个 Db 的应用程序连接字符串没有运气?

联系

$dbconn = pg_connect("host=xxxxxx.compute-1.amazonaws.com port=5432 dbname=xxxxxxx user=xxxxxx password=xxxxxx sslmode=require options='--client_encoding=UTF8'");

PHP代码抛出的错误:

 Warning: pg_connect(): Unable to connect to PostgreSQL server: sslmode value "require" invalid when SSL support is not compiled in in 

我在 Heroku 的网站上找到了以下内容,但我希望有人能澄清我是否正在处理 postgres php 问题(在 Apache 上运行 PHP,在 Mac OS X Lion 10.7.4 上运行 PHP 5.3)或者这只是一个环境限制在 Heroku 的以下声明中指出:

如何连接到 Heroku Postgres?Heroku Postgres 上的数据库接受标准的 PostgreSQL 连接。可以从任何地方通过 SSL 从 PostgreSQL 客户端应用程序(例如 psql 或 PGAdmin)、应用程序框架(例如 Ruby-on-Rails 或 Django)或任何其他 libpq 兼容客户端进行连接。

然而,共享数据库只能从运行在 Heroku 上的应用程序连接。

有人还可以解释为什么 pgAdminIII 能够连接但我的应用程序不能连接吗?

谢谢你。

进一步发现:PHPINFO->

  • 启用 OpenSSL 支持
  • OpenSSL 库版本 OpenSSL 0.9.8r 2011 年 2 月 8 日
  • OpenSSL 标头版本 OpenSSL 0.9.8r 2011 年 2 月 8 日

  • 已启用 PostgreSQL 支持

  • PostgreSQL(libpq) 版本 8.2.23
  • SSL 支持已禁用
4

1 回答 1

1

So I spoke with a representative at Heroku. They confirmed for me that it does not require any specific tier of account to connect to a Heroku Postgres database, the only stipulation is that the connection uses ssl when connecting remotely. So my issue is the result of pgsql not having ssl support in my build of php.

于 2012-09-13T21:29:27.150 回答