Docker Laravel Mysql:找不到驱动程序

时间:2019-06-25 17:57:34

标签: php mysql laravel docker docker-compose

当我运行docker-compose up并执行一些composer命令时,我会出错

  

在Connection.php第664行:找不到驱动程序(SQL:从{{1}中选择idname在Connector.php第68行:找不到驱动程序... < / p>

为什么Laravel无法连接到mysql?我可以在users中进行mysql -h db的工作。

我的设置

docker-compose exec web bash

docker-compose.yml

Laravel version: '3' services: web: build: ./webserver ports: - "80:80" - "443:443" volumes: - //docker/dockertest/webserver/app:/var/www/vhosts/app links: - db command: - /usr/local/bin/apache2_install_composer_dependencies.sh db: image: mysql:8.0 container_name: db ports: - "3306:3306" command: --default-authentication-plugin=mysql_native_password environment: MYSQL_DATABASE: myDb MYSQL_USER: user MYSQL_PASSWORD: test MYSQL_ROOT_PASSWORD: test volumes: - //docker/dockertest/install/db_dump:/docker-entrypoint-initdb.d - persistent:/var/lib/mysql networks: - default phpmyadmin: image: phpmyadmin/phpmyadmin links: - db:db ports: - 8000:80 environment: MYSQL_USER: user MYSQL_PASSWORD: test MYSQL_ROOT_PASSWORD: test volumes: persistent: (我在.env中引用了这些值)

config/database.php

... DB_CONNECTION=mysql #host points to Docker container DB_HOST=db DB_PORT=3306 DB_DATABASE=myDb DB_USERNAME=user DB_PASSWORD=test ....

webserver/Dockerfile

2 个答案:

答案 0 :(得分:1)

尝试使用以下命令sudo apt-get install php-mysql安装php-mysql并重新启动服务器

答案 1 :(得分:0)

将@ RUN docker-php-ext-install mysqli pdo pdo_mysql(不带mysql)添加到Dockerfile中,因为@NigelRen建议解决此错误。