2016-12-19 2 views
1

Gibt es eine einfache Möglichkeit zu debuggen, warum Doctrine keine Verbindung zu MySQL herstellt?Symfony: Doctrine - überprüft, ob es eine Verbindung gibt

config.yml hat:

# Doctrine Configuration 
doctrine: 
    dbal: 
     driver: pdo_mysql 
     host:  "%database_host%" 
     port:  "%database_port%" 
     dbname: "%database_name%" 
     user:  "%database_user%" 
     password: "%database_password%" 

und parameters.yml scheinen die richtigen Verbindungsinformationen in ihm zu haben. Z.B.

parameters: 
    database_host: 127.0.0.1 
    database_port: null 
    database_name: <my database name> 
    database_user: <my database user> 
    database_password: <my database password> 

Allerdings gibt dieser Code immer noch "Nicht verbunden" aus.

und ich bekomme keine Fehler zurück.

Irgendwelche Vorschläge?

+0

Symfony macht eine Lazy-Verbindung, was bedeutet, dass es keine Verbindung zur db herstellen wird, bis Sie (Anwendung) danach fragen. Wenn Sie nicht danach gefragt haben, sind Sie nicht mit db verbunden. – nospor

+0

Wenn Sie die Verbindung an einem bestimmten Punkt erzwingen wollen, rufen Sie einfach '$ cnx-> connect()' – nospor

+0

Haben Sie meine Antwort angezeigt? –

Antwort

2

Dies funktioniert:

$em = $this->getDoctrine()->getManager(); 
$em->getConnection()->connect(); 
$connected = $em->getConnection()->isConnected(); 

verbunden $ true sein wird, um anzuzeigen, es verbunden ist.

Die connect() stellt die Verbindung her und dann gibt isConnected() einen booleschen Wert zurück, um festzustellen, ob er verbunden ist.

+0

Warum der -1-Downvote? –

Verwandte Themen