2016-12-27 5 views
0

Ich bin fest, wie man sich mit der entfernten Datenbank verbinden.Laravel Homestead Verbindung zur entfernten Datenbank SSH

Ich habe bereits versucht,

ssh -fNg -L 3307:127.0.0.1:3306 [email protected] 

und meine .env

DB_CONNECTION=mysql 
DB_HOST=128.xxx.xxx.xxx 
DB_PORT=3307 
DB_DATABASE=projectdb 
DB_USERNAME=forge 
DB_PASSWORD=password; 

ich die Remote-Datenbank mit HeidiSQL verbinden kann ausgeführt werden. Aber wenn ich versuchte, eine Verbindung mit Laravel-Projekt herzustellen, gibt es immer wieder

SQLSTATE[HY000] [2002] Connection timed out 

Jede andere Lösung?

Antwort

2

In diesem Szenario sollte Ihre .env-Datei die Einstellung DB_HOST=127.0.0.1 haben, da Sie (lokalen) Datenverkehr von Ihrem Homestead-Server auf Port 3307 an den Remote-Server auf Port 3306 tun, insbesondere auch auf 127.0.0.1.

Eine weitere Möglichkeit, zu schreiben, dass mehr explizit sein würde:

ssh -fNg -L 127.0.0.1:3307:127.0.0.1:3306 [email protected] 

(Allerdings können Sie Ihren aktuellen Befehl von ssh -fNg -L 3307:127.0.0.1:3306 [email protected] halten, zeige ich Ihnen, wie Sie, dass eine andere Art und Weise das zu machen, um hoffentlich schreiben Punkt klarer).

Also, von Homestead, wenn Sie Datenverkehr an 127.0.0.1:3307 senden, wird es getunnelt in den Remote-Server und dann mit 127.0.0.1:3306 innerhalb es verbinden.

+1

gearbeitet !. Vielen Dank!. – ssuhat