Maison > Questions et réponses > le corps du texte
P粉7319775542023-08-11 00:43:41
L'une des raisons les plus simples de cette erreur est que le serveur MySQL ne fonctionne pas. La première étape consiste donc à vérifier. Si ça marche, voici les autres suggestions :
J'ai eu exactement le même problème. Aucune des solutions ci-dessus n'a fonctionné pour moi. J'ai résolu le problème en changeant le "host" dans le fichier /app/config/database.php de "localhost" à "127.0.0.1".
Je ne sais pas pourquoi "localhost" ne fonctionne pas par défaut, mais j'ai trouvé cette réponse à un problème similaire et elle a été résolue dans un article symfony2. https://stackoverflow.com/a/9251924
Mise à jour : Certaines personnes ont demandé pourquoi ce correctif fonctionnait, j'ai donc fait quelques recherches sur le problème. Comme expliqué dans cet article, ils utilisent différents types de connexion. https://stackoverflow.com/a/9715164
Le problème ici est que "localhost" utilise un socket UNIX et ne trouve pas la base de données dans le répertoire standard. Cependant, "127.0.0.1" utilise TCP (Transmission Control Protocol), ce qui signifie qu'il fonctionne sur le "réseau local" de votre ordinateur et est plus fiable qu'un socket UNIX.
P粉1484347422023-08-11 00:10:06
Le message d'erreur indique une tentative d'établissement d'une connexion MySQL sur un socket (qui n'est pas pris en charge).
Dans le contexte de Laravel (artisan), vous souhaiterez peut-être utiliser un environnement différent/correct. Par exemple : php artisan migrate --env=production
(ou tout autre environnement). Voir ici.