首页 > 解决方案 > laradock 上的 Laravel 似乎无法连接到 docker 上的 mysql

问题描述

Laravel 似乎无法连接到 docker 上 laradock 上的 mysql。我应该如何解决?在 laravel 项目中继承 .env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=dcl
DB_USERNAME=developer
DB_PASSWORD=mysql

laradock 中的 .env

### MYSQL #################################################

MYSQL_VERSION=latest
MYSQL_DATABASE=dcl
MYSQL_USER=developer
MYSQL_PASSWORD=mysql
MYSQL_PORT=3306
MYSQL_ROOT_PASSWORD=mysql
MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d

mysql> 显示数据库;+--------------------+ | 数据库 | +--------------------+ | dcl | | 信息架构 | | mysql | | 性能模式 | | 系统 | +--------------------+ 5 行(0.00 秒)

mysql>

$  docker-compose exec workspace php artisan migrate

   Illuminate\Database\QueryException  : SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from information_schema.tables where table_schema = cleaning and table_name = migrations and table_type = 'BASE TABLE')

  at /var/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php:669


  > 669|             throw new QueryException(


  Exception trace:

  1   PDOException::("SQLSTATE[HY000] [2002] No such file or directory")
      /var/www/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70

  2   PDO::__construct("mysql:host=localhost;port=3306;dbname=dcl", "developer", "mysql", [])
      /var/www/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70

标签: mysqllaraveldockerlaradock

解决方案


在 laravel 中编辑 .env 文件

DB_HOST=127.0.0.1

↓</p>

DB_HOST=mysql

推荐阅读