2

我正在尝试运行

 php bin/console make:migration

我收到了这些错误

In AbstractMySQLDriver.php line 93:
   An exception occurred in driver: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution
 In PDOConnection.php line 31:
    SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution
 In PDOConnection.php line 27:
    SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution
 In PDOConnection.php line 27:
    PDO::__construct(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution

我检查了我所有的 .env 文件。我已经配置了

DATABASE_URL=mysql://mylocalDb:#fL3@&_{Dx3N@127.0.0.1:3306/LocalDataBase

我已将教义配置更改为使用 server_version:'5.7'。我不确定这是否正确。我刚刚从该行前面删除了#,因为注释说您必须配置您的服务器版本。但不确定它指的是哪个服务器。

所以,我的问题是如何在 Symfony 中测试数据库连接。我已经搜索了这些文件,但无法找到这个问题的明确答案。当我跑

 php bin/console doctrine:database:create

这会产生错误

 In CreateDatabaseDoctrineCommand.php line 82:
   Connection does not contain a 'path' or 'dbname' parameter and cannot be created.

进行配置更改后,我已经清除了两次缓存,但仍然收到相同的错误消息。我还有什么其他方法可以测试数据库连接。

https://symfony.com/doc/current/doctrine.html#configuring-the-database

4

2 回答 2

2

您的数据库密码包含“@”,它会破坏 Symfony 的解析器,将密码更改为没有符号应该可以解决您的问题。

于 2020-02-07T14:55:47.223 回答
2

就像 ikyuchukov 说的那样,“ @”字符打破了解析。但我认为,与其更改密码,不如对这个字符进行 url 编码会做得更好。您可以将其替换为它的 url 编码值“ %40”。

于 2021-02-07T23:54:53.257 回答