Php 停靠Symfony 5应用程序错误“;驱动程序中发生异常:找不到驱动程序“;
我正在学习Docker,所以我试着将我不久前制作的一个老项目进行Docker,它是一个Symfony 5应用程序,它就像一个商店应用程序,所以它使用mysql数据库 我有下面的docker代码Php 停靠Symfony 5应用程序错误“;驱动程序中发生异常:找不到驱动程序“;,php,mysql,docker,symfony,debian,Php,Mysql,Docker,Symfony,Debian,我正在学习Docker,所以我试着将我不久前制作的一个老项目进行Docker,它是一个Symfony 5应用程序,它就像一个商店应用程序,所以它使用mysql数据库 我有下面的docker代码 version: '3.7' services: php: build: context: . dockerfile: docker/build/php/Dockerfile ports: - "9090:80"
version: '3.7'
services:
php:
build:
context: .
dockerfile: docker/build/php/Dockerfile
ports:
- "9090:80"
mysql:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-root}
现在,在docker/build/php/Dockerfile
FROM php:7.3.3-apache
COPY . /var/www/html
当我构建映像,然后运行docker compose up
时,一切似乎都很好,当我转到localhost:9090
时,我得到一个关于权限的错误,所以我在php apache容器中运行chmod-R 777 var
,以修复它,我刷新页面,然后发现驱动程序中出现异常:找不到驱动程序
在谷歌上搜索时,我发现了几个解决方案,上面写着我需要运行这个命令来修复它
sudo apt get安装php7.2-mysql
当我运行时,这种情况会发生
E:找不到包php7.2-mysql
E:无法通过glob'php7.2-mysql'找到任何包
E:无法通过正则表达式“php7.2-mysql”找到任何包
还是这个
apt-get安装php-mysql
这会抛出这个错误
包“php mysql”没有安装候选程序
关于安装某个东西的任何其他命令都会抛出一个错误,如上面两个命令中的一个,如何修复此驱动程序错误
有一些关于我的容器的信息
root@a15f68bd3605:/# cat /etc/*-release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
这是symfony项目中的my.env
DATABASE_URL=mysql://root:@127.0.0.1:3306/popcollector?serverVersion=5.7
一般来说,事后在容器中安装软件是一种不好的做法。首先确保使用正确的容器 例如,您可以使用webdevops容器。要使用它,只需将Dockerfile中php:7.3.3-apache的
行替换为webdevops/php:debian-8-php7的
有关webdevops容器的更多信息,请参见您需要在容器中启用pdo_mysql
扩展。
您可以通过将此行添加到Dockerfile来完成此操作:
RUN docker-php-ext-install pdo_mysql
将软件安装到一个容器中作为基本映像是很正常的。您好,谢谢您的回复。我这样做了,然后当我转到localhost:9090时,我得到的只是一个ERR\u EMPTY\u响应
我注意到您的数据库URL中没有密码。或者这只是一个输入错误?在.env文件中你的数据库URL是什么?只需在发布前更改您的机密信息。这是否回答了您的问题?嗨@AlexanderDimitrov我刚刚编辑了我的question@Leprechaun谢谢你的评论,我已经试过了,对你没有效果me@H3lltronik您应该用mysql替换127.0.0.1。127.0.0.1引用了php容器,但您没有dB引擎。
RUN docker-php-ext-install pdo_mysql