2012-03-02 11 views
7

Jestem nowicjuszem zarówno dla php, jak i dla Heroku i mam do czynienia z pewnym problemem. Obecnie moja aplikacja działa dobrze na moim serwerze testowym xxamp z mysql, jednak kiedy próbuję go hostować na Heroku, nie ma połączenia z serwerem MySql.Czy moja aplikacja PHP będzie działała z zasobem ClearDB MySql Heroku?

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2003] Can't connect to MySQL server on '127.0.0.1' (111)' in /app/www/pdo_testdb_connect.php:6 Stack trace: #0 /app/www/pdo_testdb_connect.php(6): PDO->__construct('mysql:host=127....', 'd2398h23d9d82j3', '8dj1292d3') #1 /app/www/all.php(6): testdb_connect() #2 {main} thrown in /app/www/pdo_testdb_connect.php on line 6 

Czy ClearDB nie działa z PHP? Wszelkie sugestie byłyby bardzo doceniane, ponieważ uderzyłem w ceglaną ścianę.

Odpowiedz

9

Oto Integracja PHP z Cleardb z Heroku:

define ('DB_USER','xxxxxxxxxxxxxxxx'); 
define ('DB_PASSWORD','yyyyyyyyyyyyyy'); 
define ('DB_HOST','us-cdbr-east.cleardb.com'); 
define ('DB_NAME','heroku_zzzzzzzzzzzzzzzzzz'); 

Take params przechodząc w Git i wpisywanie Heroku config. Zobaczysz CLEARDB_DATABASE_URL

Oto jak go rozszyfrować:

mysql://xxxxxxxxxxxxxx:[email protected]/heroku_zzzzzzzzzzzzzzz 

Co ciekawe, w oficjalnej dokumentacji stanowią one jedynie przykład Ruby, ale nic o php .. http://devcenter.heroku.com/articles/cleardb

+1

https://devcenter.heroku.com/articles/cleardb#using-cleardb-with-php – ekillaby

+0

powinieneś wyjaśnić, gdzie 'DB_USER' ... itp. Są używane, ponieważ samo definiowanie zmiennych nic nie robi. Na przykład po prostu użycie 'new PDO()' ma 3 różne składnie, które są używane. –

3
heroku config | grep CLEARDB_DATABASE_URL 
Powiązane problemy