2017-03-23 7 views
1

Ich möchte eine Verbindung zu meinem Kunden Remote-Datenbank herstellen.Zend Framework 1 - Remote-Datenbank-Verbindung über SSH-Tunnel

Ich bin in der Lage SSH-Tunnel mit dem Befehl zu etablieren:

ssh -vvv -i path_to_private_key -L 3308:127.0.0.1:3307 [email protected]_host 

und eine Verbindung zu seiner Datenbank mit:

mysql -u database_user -p -h 127.0.0.1 -P 3308 

Aber wenn ich möchte, dass mein Zend Framework Projekt konfigurieren, zum Lesen von Daten aus Diese Datenbank, nichts passiert (auch gibt es keine Protokolle in Apache2 Fehlerprotokolle)

Unter meinen Konfigurationen von application.ini-Datei:

resources.db.adapter = "mysqli" 
resources.db.params.host = 127.0.0.1 
resources.db.params.port = 3308 

resources.db.params.dbname = database_name 
resources.db.params.username = database_user 
resources.db.params.password = database_password 
resources.db.params.profiler = false 

Ich habe keine Ahnung, was könnte falsch sein. Irgendwelche Ideen?

Antwort

0

Versuchen Sie dies mit einer leichten Änderung an Ihrem ssh-Befehl.

ssh -N -L -i path_to_private_key 3307:mysqlhost:3306 [email protected] 

Wo 3307 ist Ihre lokale Port und mysqlhost ist der MySQL-Host, den Sie sich verbinden, nicht localhost. Nun sollte Ihre Konfiguration wie folgt aussehen:

resources.db.adapter = "mysqli" 
resources.db.params.host = 127.0.0.1 
resources.db.params.port = 3307 

resources.db.params.dbname = database_name 
resources.db.params.username = database_user 
resources.db.params.password = database_password 

als Referenz aus dem Handbuch:

-N  Do not execute a remote command. This is useful for just forwarding ports (pro- 
     tocol version 2 only). 

Hoffnung, das hilft.

+0

Danke für Ihre Antwort. Leider ist das keine Lösung für mein Problem. Letzte Tage stellte sich heraus, dass es auf meiner Kundenseite ein Problem war, mit meinem Befehl war alles in Ordnung. Aber natürlich vielen Dank für das interessante. – Leszek

0

Leider ist dies keine Lösung für mein Problem. Letzte Tage stellte sich heraus, dass es auf meiner Kundenseite ein Problem war, mit meinem Befehl war alles in Ordnung.