Maison > cadre php > Laravel > Résoudre le problème selon lequel Laravel ne peut pas se connecter à la base de données lors de l'utilisation du docker Windows pour exécuter des conteneurs php et mysql

Résoudre le problème selon lequel Laravel ne peut pas se connecter à la base de données lors de l'utilisation du docker Windows pour exécuter des conteneurs php et mysql

藏色散人
Libérer: 2021-03-22 08:58:07
avant
3069 Les gens l'ont consulté

La colonne du didacticiel suivante de laravel vous présentera la méthode pour résoudre le problème selon lequel Laravel ne peut pas se connecter à la base de données lors de l'utilisation du docker Windows pour exécuter le conteneur php et Conteneur MySQL. J'espère que cela aidera ceux qui en ont besoin.

Résoudre le problème selon lequel Laravel ne peut pas se connecter à la base de données lors de l'utilisation du docker Windows pour exécuter des conteneurs php et mysql

Problème

Lorsque le projet Laravel utilise le docker Windows pour exécuter le conteneur php et le conteneur mysql, exécutez php dans Windows git bash artisan migrate a constaté que la base de données était introuvable.

Message d'erreur :

   Illuminate\Database\QueryException  : SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: 未知  (SQL: select * from ***)

  at E:\project\vendor\laravel\framework\src\Illuminate\Database\Connection.php:669
    665|         // If an exception occurs when attempting to run a query, we'll format the error
    666|         // message to include the bindings with SQL, which will make this exception a
    667|         // lot more helpful to the developer instead of just the database's errors.
    668|         catch (Exception $e) {
  > 669|             throw new QueryException(
    670|                 $query, $this->prepareBindings($bindings), $e    671|             );
    672|         }
    673|

  Exception trace:

  1   Doctrine\DBAL\Driver\PDOException::("SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: 知 ")
      E:\project\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOConnection.php:31

  2   PDOException::("PDO::__construct(): php_network_getaddresses: getaddrinfo failed: 知 ")
      E:\project\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOConnection.php:27

  Please use the argument -v to see more details.
Copier après la connexion

Cause

Lors de l'exécution de php artisan migrate sous Windows, le mysql dans le conteneur ne peut pas être connecté

Solution

Réécrivez une commande shell pour encapsuler la commande php artisan et exécutez php artisan après avoir créé le conteneur comme suit :

contenu du fichier phpartisan

#!/usr/bin/env sh

# 进入容器 执行相应php artisan命令

docker exec -i 容器名称 sh -c "cd /项目的容器路径 && php artisan $*"
Copier après la connexion

Exécuterphp artisan * et remplacez la commande par phpartisan *

Recommandé : Les cinq derniers didacticiels vidéo Laravel

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:learnku.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal