Laravel 5.5 SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo 失败:不知道这样的主机

Laravel 5.5 SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: No such host is known

为新项目安装 Laravel 5.5 后,出现此错误:

[Illuminate\Database\QueryException]
  SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: No such host is known.

.env 数据库连接信息:

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=lavavelproject
DB_USERNAME=root
DB_PASSWORD=

开发环境:Windows PHP7.0

尝试通过终端清除缓存:

php artisan config:cache

更改配置文件时始终执行此操作。

有时最常见的问题是使用 localhost,将其更改为 127.0.0.1,它应该适合您。

有时您将不得不 运行:

php artisan cache:clear 并且在我发现的罕见时刻 运行ning php artisan key:generate

我遇到了同样的问题。解决方案是将 DB_HOST=mariadb 更改为 DB_HOST=localhost

如果重要的话,我的本地主机是 127.0.0.1。

无论如何,对于我的项目和我的 PC 配置,我认为问题来自 Apache (XAMP)。
我的项目 运行 在 Docker 个容器中。
我把我的“.env”文件放在两行上方,
DB_HOST=mariadb
#DB_HOST=localhost

当我 运行 项目时,最后一行 (localhost) 被注释掉并且没有改变。 对于 运行ning php artisan 命令,我将停用“mariadb”并激活“localhost”。 简单的技巧,变化不大。

遇到同样的问题,将 DB_HOST=mysql 更改为 DB_HOST=localhost 解决了我的问题。

在您的应用程序上 .env 应该指向您的数据库的 IP。您的数据库与您的 Laravel 应用程序是同一台服务器,它应该是:

.env

DB_HOST=127.0.0.1