我有一个在Docker安装程序上运行的symfony环境。通过docker-compose.yml(版本2(,我启动了几个容器。以下容器与此处相关:
PHPFPM、NGINX和MariaDB
如果我通过浏览器打开我的symfony项目,它成功地连接到我的数据库(在名为"mariadb"的容器上(。将显示数据库中表中的记录。 即使我执行控制台命令来更新我的数据库架构,它也会起作用,并且更改会应用于我的数据库。
现在我想编写功能/集成测试,对同一主机(mariadb(上的第二个数据库运行测试。
这是我尝试连接的方式:
$dsn = sprintf(
'mysql:host=%s;port=%s',
'mariadb',
3306
);
$pdo = new PDOConnection(
$dsn,
'otk_dbuser',
'testpass'
);
但结果是以下消息:
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known
/opt/project/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:47
/opt/project/src/TestingBundle/Tests/DatabaseTestCase.php:56
/opt/project/src/TestingBundle/Tests/DatabaseTestCase.php:18
你能给我一些帮助吗?
亲切问候麦克斯
忘了我刚才问的。我在 PHPStorm 中执行了功能测试。因此,PHPStorm 使用一个独立的 docker 容器,这与我的 docker-compose 设置无关。
哑巴我!