В любом случае, можно подключиться к экземпляру postgres (Free) из Heroku (Free) из локально запущенного приложения PHP. Я могу успешно подключить 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, но я надеюсь, что кто-то сможет уточнить, имею ли я проблему с php-выпуском postgres (запуск PHP на Apache, PHP 5.3 на Mac OS X Lion 10.7.4), или если это просто ограничение среды как указано в следующем заявлении Героку:
Как подключиться к Heroku Postgres? Базы данных на Heroku Postgres принимают стандартные соединения PostgreSQL. Соединения могут быть выполнены из клиентских приложений PostgreSQL (таких как psql или PGAdmin), приложений Framework (например, Ruby-on-Rails или Django) или любого другого совместимого с libpq-клиента, из любого места через SSL.
Однако общие базы данных можно подключать только к приложениям, работающим на Heroku.
Может ли кто-то объяснить, почему pgAdminIII может подключиться, но мое приложение не может?
Спасибо.
Дальнейшие выводы: PHPINFO->
OpenSSL Header Version OpenSSL 0.9.8r 8 февраля 2011 г.
Поддержка PostgreSQL включена
Поэтому я поговорил с представителем в Хереку. Они подтвердили для меня, что для подключения к базе данных Heroku Postgres не требуется какой-либо определенный уровень учетной записи, единственное условие заключается в том, что соединение использует ssl при удаленном подключении. Поэтому моя проблема связана с тем, что pgsql не поддерживает ssl в моей сборке php.