消息:“ SQLSTATE [HY000] [2002] php_network_getaddresses:getaddrinfo失败:名称解析暂时失败(SQL:从“ users”中选择* ...)”

时间:2019-10-31 15:18:59

标签: angular laravel

我在Windows操作系统上开发了一个Web门户,使用Angular-7作为前端,Laravel-5.8作为后端。部署之前,我在本地计算机上测试了所有内容,一切正常。

Linux Ubuntu服务器IP为:20.10.10.122 Laravel文件路径为:

http://120.10.10.122/client-app/backend

.env

APP_NAME=Client
APP_ENV=local
APP_KEY=base64:QT/LLNA/aduSekOXF4/CsY1iYEcRwwwwssssssHxuFs=
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=http://localhost/
DB_PORT=3306
DB_DATABASE=client
DB_USERNAME=jdggsss
DB_PASSWORD=kjhgfdddd

但是,当我部署到Linux Ubuntu-18服务器时,我运行了该应用程序。当用户尝试登录时,出现此错误:

  

消息:“ SQLSTATE [HY000] [2002] php_network_getaddresses:getaddrinfo失败:名称解析暂时失败(SQL:从users中选择*,其中email = noblemfd@yahoo.com和{{1 }} = 1,active为空,deleted_atusers为空限制1)“

为什么会出现错误以及如何解决?

2 个答案:

答案 0 :(得分:0)

您的DB_HOST环境变量显然是错误的。您向其中添加了http:// URI Schemehttp://方案用于识别http协议,MySQL不使用它。

您应该仅使用hostname,不带前缀:

DB_HOST=localhost

答案 1 :(得分:0)

更改环境变量以连接到本地MySQL服务器

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=client
DB_USERNAME=jdggsss
DB_PASSWORD=kjhgfdddd

希望这会有所帮助