Dies ist, was ich in den Laracasts-Foren beantwortet habe, falls es hilft:
Innerhalb der VM ist der SQL-Port 3306. Außerhalb der VM hat der Hostcomputer nur eine Weiterleitung zum SQL-Port auf der VM. Deshalb zeigt 33060 auf 3306.
Aus diesem Grund können Sie leider nicht dieselbe Datenbankzeile für beide verwenden.
Zwei Ideen kommen mir in den Sinn:
-
Ändern Sie den SQL-Port von 33060 auf 3306 auch auf dem Host in der Datei homestead.rb. Ich weiß, dass Computer wählerisch werden, wenn Sie etwas unter Port 10000 auswählen, sodass Sie möglicherweise zur Eingabe von Administratoranmeldeinformationen aufgefordert werden (falls Sie dies überhaupt zulassen). Solange Sie nichts auf diesem Port ausführen, "sollte" es funktionieren.
-
Sie könnten erwägen, zwei Laravel-Umgebungen für die Arbeit außerhalb der VM und eine für die Arbeit innerhalb der VM einzurichten. Auf diese Weise können Sie die database.php-Einstellungen überschreiben, wenn Sie artisan-Befehle auf der VM oder artisan auf dem Host ausführen. In Wirklichkeit müssen Sie nur die Portnummer ändern, da alle anderen Einstellungen identisch wären. Alles andere können Sie so lassen wie es ist.
Nur etwas zum Ausprobieren. Ich lasse einfach eine SSH-Sitzung für die VM offen und führe dort Befehle aus, da die Verbindung ziemlich schnell ist, nachdem die Maschine wieder hochgefahren wurde.