我正在尝试使用php app(Symfony 3)设置我的docker。
一切似乎都很好但是,Symfony无法连接到mysql。
我有错误:
未捕获的PHP异常Doctrine \ DBAL \ Exception \ DriverException:“驱动程序中发生异常:找不到驱动程序”
我的docker-compose.yaml
文件是:
version: '3'
services:
app:
image: car-rental
ports:
- "8888:80"
links:
- php
- db
volumes:
- ./.code:/var/www/html
depends_on:
- db
php:
image: php:7.1-fpm
volumes:
- ./.code:/var/www/html
db:
image: mysql:5.7
volumes:
- mysql-data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: test
MYSQL_DATABASE: rental
volumes:
mysql-data:
答案 0 :(得分:2)
关于php的docker hub你可以看到 默认情况下,它仅包含redis redis xdebug已启用。
PHP源代码不提供某些扩展,而是提供 通过PECL获得。要安装PECL扩展,请使用pecl install 下载并编译它,然后使用docker-php-ext-enable启用 它
您可以使用相同的docker compose文件,只需在容器启动时运行命令
php:
image: php:7.1-fpm
command:docker-php-ext-install mysqli
volumes:
- ./.code:/var/www/html
您可以检查安装
php -m
这些是您提取的最新泊坞窗图像中的默认模块。
Core
ctype
curl
date
dom
fileinfo
filter
ftp
hash
iconv
json
libxml
mbstring
mysqlnd
openssl
pcre
PDO
pdo_sqlite
Phar
posix
readline
Reflection
session
SimpleXML
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
zlib
答案 1 :(得分:0)
此错误(could not find driver
)表示您的PHP没有加载pdo_mysql
模块。
如果尚未安装,则需要先启用它或先安装。