Voici ce que j'ai répondu sur les forums Laracasts, au cas où cela aiderait :
À l'intérieur de la VM, le port sql est 3306. En dehors de la VM, la machine hôte a juste un transfert vers le port SQL de la VM. C'est pourquoi 33060 pointe vers 3306.
C'est malheureusement la raison pour laquelle vous ne pouvez pas utiliser la même strophe de base de données pour les deux.
Deux idées me viennent à l'esprit :
-
Modifiez le port sql de 33060 à 3306 également sur l'hôte à l'intérieur du fichier homestead.rb. Je sais que les machines deviennent pointilleuses si vous choisissez quelque chose sous le port 10000, vous pourriez donc être invité à fournir des informations d'identification d'administrateur (si cela vous le permet même). Tant que vous n'exécutez pas quelque chose sur ce port, cela "devrait" fonctionner.
-
Vous pouvez envisager de configurer deux environnements Laravel lorsque vous travaillez en dehors de la machine virtuelle et un pour l'intérieur. De cette façon, vous pouvez remplacer les paramètres de database.php lors de l'exécution de commandes artisan sur la machine virtuelle ou lors de l'exécution d'artisan sur l'hôte. En réalité, vous ne vous souciez que de changer le numéro de port puisque tous les autres paramètres seraient identiques. Vous pouvez laisser tout le reste tel quel.
Juste quelque chose à essayer. Je laisse simplement une session SSH ouverte à la machine virtuelle et j'y exécute des commandes car la connexion à celle-ci est assez rapide après la reprise de la machine.