Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Seltsames Verhalten Laravel Homestead Database Connection

Ihre Anwendung wird auf der in Homestead.yaml angegebenen IP ausgeführt Wenn also localhost relativ zu Ihrer Anwendung ist, funktioniert Port 3306. Wenn Sie artisan ohne SSH in Ihrer vagrant-VM ausführen, führen Sie den Befehl relativ zum lokalen Host Ihres Computers aus, nicht zum VM, also versuchen Sie, die Migrationen auf einem Computer ohne Datenbank auszuführen.

Der Grund, warum Port 33060 für Ihren lokalen Computer funktioniert, liegt darin, dass Homestead diesen Port standardmäßig an Port 3306 Ihrer vagabundierenden virtuellen Maschinen weiterleitet. Aber aufgrund Ihrer .env Wenn jetzt Port 33060 angegeben wird, kann die vagabundierende virtuelle Maschine jetzt Port 3306 nicht erreichen.

Verlassen Sie den DB_HOST auf 127.0.0.1 gesetzt mit Port 3306 und SSH in Ihre vagabundierende VM über vagrant ssh Befehl, um Ihren Migrationsbefehl auszuführen.

Oder Sie könnten alternativ mehrere .env haben Dateien für Ihre verschiedenen Umgebungen