Php 停靠Symfony 5应用程序错误“;驱动程序中发生异常:找不到驱动程序“;

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"

我正在学习Docker,所以我试着将我不久前制作的一个老项目进行Docker,它是一个Symfony 5应用程序,它就像一个商店应用程序,所以它使用mysql数据库

我有下面的docker代码

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