测试环境中的Symfony PDO连接

时间:2017-04-06 10:43:24

标签: php symfony pdo doctrine-orm doctrine

我有一个在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
你能帮我个忙吗?

亲切的问候, 最大

1 个答案:

答案 0 :(得分:1)

忘掉我刚问的话。我在PHPStorm中执行了我的功能测试。因此,PHPStorm使用独立的docker容器,与docker-compose设置没什么关系。

愚蠢的我!