php
  • postgresql
  • heroku
  • local
  • 2013-02-20 14 views 8 likes 
    8

    Próbuję uzyskać dostęp do mojej bazy danych Heroku Postgres z kodu php, który działa lokalnie.Jak połączyć się z bazą danych postgres Heroku z lokalnego połączenia w php

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

    działa dobrze, gdy kod działa na Heroku, ale nie lokalnie. (Wartość są te podane przez Heroku)

    otrzymuję ten błąd:

    Nie można połączyć się z PostgreSQL server: wartości sslmode "wymagać" nieważne kiedy SSL nie jest skompilowany w

    Jeśli usunę sslmode, otrzymuję ten błąd:

    Sieć jest nieosiągalny Czy serwer działa na gospodarza „i” myhost wg epting połączeń TCP/IP na porcie 5432?

    Czy ktoś ma wskazówkę? To bardzo pomogłoby!

    +0

    Kiedy mówisz lokalnie, czy zmieniasz host = na hosta lokalnego? –

    Odpowiedz

    5

    Heroku Postgres wymaga sslmode dla połączeń zewnętrznych. Najprawdopodobniej musisz skompilować PHP z flagą kompilacji --with-openssl[=dir]. Zobacz tutaj, aby uzyskać więcej informacji: http://www.php.net/manual/en/book.openssl.php

    Czy możesz zweryfikować swoją instalację PHP ma openssl wkompilowany z nim? Jedyny sposób, jaki znam, aby to sprawdzić, to strona phpinfo() i poszukaj flagi --with-openssl.

    Powiązane problemy