当我运行docker-compose up
并执行一些composer
命令时,我会出错
在Connection.php第664行:找不到驱动程序(SQL:从{{1}中选择
id
,name
在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
答案 0 :(得分:1)
尝试使用以下命令sudo apt-get install php-mysql
安装php-mysql并重新启动服务器
答案 1 :(得分:0)
将@ RUN docker-php-ext-install mysqli pdo pdo_mysql
(不带mysql
)添加到Dockerfile中,因为@NigelRen建议解决此错误。