我有一个在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
你能帮我个忙吗?
亲切的问候, 最大
答案 0 :(得分:1)
忘掉我刚问的话。我在PHPStorm中执行了我的功能测试。因此,PHPStorm使用独立的docker容器,与docker-compose设置没什么关系。
愚蠢的我!