Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to connect to Heroku postgres database from a local connection in php

I'm trying to access to my Heroku Postgres database from a php code that runs locally.

pg_connect("host=myhost port=5432 dbname=mydb user=me password=*** sslmode=require options='--client_encoding=UTF8'")

works well when the code runs on Heroku, but not locally. (the value are those given by Heroku)

I get this error :

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

If I delete sslmode, I get this error :

Network is unreachable Is the server running on host "myhost" and accepting TCP/IP connections on port 5432?

Does someone has a clue ? It would help a lot !

like image 245
Guig Avatar asked Feb 20 '13 15:02

Guig


People also ask

How do I connect to Heroku Postgres database PHP?

You need to get your DATABASE_URL variable. You can get it going here and press 'View Credentials'. Then fill your DB connection with the info provided.


1 Answers

Heroku Postgres requires sslmode for external connections. You likely need to compile PHP with the --with-openssl[=dir] compile flag. See here for more information: http://www.php.net/manual/en/book.openssl.php

Can you verify your installation of PHP has openssl compiled in with it? The only way I know to check this is with a phpinfo() page and look for the --with-openssl flag.

like image 153
catsby Avatar answered Oct 24 '22 08:10

catsby