4

ローカルで実行されている PHP アプリケーションから Heroku postgres (Free) db インスタンスに接続する方法はありますか。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 接続を受け入れます。PostgreSQL クライアント アプリケーション (psql や PGAdmin など)、アプリケーション フレームワーク (Ruby-on-Rails や Django など)、またはその他の libpq 互換クライアントから SSL 経由でどこからでも接続できます。

ただし、共有データベースは、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

そこで、Heroku の担当者に話を聞きました。彼らは、Heroku Postgres データベースに接続するために特定の層のアカウントを必要としないことを確認しました。唯一の規定は、接続がリモート接続時に ssl を使用することです。したがって、私の問題は、php のビルドで pgsql が ssl をサポートしていないことの結果です。

于 2012-09-13T21:29:27.150 に答える