9

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 !

catsby
  • 11,276
  • 3
  • 37
  • 37
Guig
  • 9,891
  • 7
  • 64
  • 126

1 Answers1

5

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.

catsby
  • 11,276
  • 3
  • 37
  • 37