为新项目安装Laravel 5.5后,我收到此错误:
[Illuminate\Database\QueryException]
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: No such host is known.
.env db连接信息:
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=lavavelproject
DB_USERNAME=root
DB_PASSWORD=
开发环境:Windows PHP 7.0
答案 0 :(得分:8)
尝试通过终端清除缓存:
php artisan config:cache
更改配置文件时始终执行此操作。
答案 1 :(得分:4)
有时最常见的问题是使用localhost
,将其更改为127.0.0.1
,它应该适合您。
有时你必须跑:
php artisan cache:clear
并且在我发现运行php artisan key:generate
答案 2 :(得分:0)
我遇到了同样的问题。解决方案是将 DB_HOST=mariadb
更改为 DB_HOST=localhost
。
如果重要的话,我的本地主机是 127.0.0.1。
无论如何,对于我的项目和我的 PC 配置,我认为问题来自 Apache (XAMP)。
我的项目在 Docker 容器中运行。
我把我的“.env”文件放在两行上方,
DB_HOST=mariadb
#DB_HOST=localhost
。
最后一行 (localhost) 被注释并且在我运行项目时不会改变。
为了运行 php artisan
命令,我将停用“mariadb”并激活“localhost”。
不改变太多的简单技巧。
答案 3 :(得分:0)
遇到同样的问题,将 DB_HOST=mysql
改为 DB_HOST=localhost
解决了我的问题。
答案 4 :(得分:0)
在您的应用程序上 .env 应该指向您的数据库的 IP。您的数据库与 Laravel 应用程序在同一台服务器上,应该是:
.env
DB_HOST=127.0.0.1