gpt4 book ai didi

php - Doctrine 无法连接到链接的 docker 容器中的 MYSQL 数据库

转载 作者:行者123 更新时间:2023-11-29 20:52:16 26 4
gpt4 key购买 nike

我使用两个 Docker 容器,一个运行 ubuntu 和一个 apache Web 服务器,另一个运行 mysql 服务器。容器已链接,我可以从 ubuntu 容器连接到 mysql 服务器。对于我在 ubuntu 容器中使用的连接:

mysql -u root -h mysql

其中第二个“mysql”是容器的名称。我也可以通过容器 ID 连接到它,因此该连接就像从 Windows 环境连接到数据库一样有效。

不起作用的是 ubuntu 容器中的 PHP 应用程序中从学说到数据库的连接。

配置如下:

'doctrine' => array(
'connection' => array(
'orm_default' => array(
'driverClass' => 'Doctrine\DBAL\Driver\PDOMySql\Driver',
'params' => array(
'host' => 'mysql',
'port' => '3306',
'user' => 'root',
'password' => '',
'dbname' => 'db_name',
'charset' => 'utf8',
)
)
),
)

但是我收到错误消息

Uncaught PDOException: could not find driver in /var/www/vendor/zendframework/zend-servicemanager/src/ServiceManager.php

Zend\ServiceManager\Exception\ServiceNotCreatedException: An abstract factory could not create an instance of doctrine.entitymanager.ormdefault(alias: doctrine.entitymanager.orm_default). in /var/www/vendor/zendframework/zend-servicemanager/src/ServiceManager.php 

有谁知道如何解决这个问题以及错误到底来自哪里?

我已经尝试将容器 ID 作为“主机”输入,并注释掉“密码”字段,因为它未被使用。

提前致谢

乔纳森

最佳答案

您的系统需要允许 pdo_mysql,这似乎不是连接问题,而是 php 配置问题。

你可以尝试在你的 php 容器中执行这个命令吗

php -i | grep pdo_mysql

只是为了了解php是否有这个模块

关于php - Doctrine 无法连接到链接的 docker 容器中的 MYSQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37940788/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com