Symfony 5 SQLSTATE[HY000] [2002] php_network_getaddresses:getaddrinfo 失败:
Symfony 5 SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed:
我正在尝试 运行
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
您的数据库密码包含“@”,这会破坏 Symfony 的解析器,将密码更改为不包含该符号应该可以解决您的问题。
正如 ikyuchukov 所说,“@
”字符破坏了解析。但在我看来,与其更改密码,不如 url-encoding 这个字符会做得更好。您可以将其替换为 url 编码值“%40
”。
我正在尝试 运行
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
您的数据库密码包含“@”,这会破坏 Symfony 的解析器,将密码更改为不包含该符号应该可以解决您的问题。
正如 ikyuchukov 所说,“@
”字符破坏了解析。但在我看来,与其更改密码,不如 url-encoding 这个字符会做得更好。您可以将其替换为 url 编码值“%40
”。