9

ローカルで実行されているphpコードからHerokuPostgresデータベースにアクセスしようとしています。

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]コンパイルフラグを使用してPHPをコンパイルする必要がある可能性があります。詳細については、こちらを参照してください:http ://www.php.net/manual/en/book.openssl.php

PHPのインストールにopensslがコンパイルされていることを確認できますか?これを確認する唯一の方法は、ページを使用してフラグphpinfo()を探すことです。--with-openssl

于 2013-02-20T18:51:10.127 に答える