我在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
中选择*,其中active
为空,deleted_at
。users
为空限制1)“
为什么会出现错误以及如何解决?
答案 0 :(得分:0)
您的DB_HOST
环境变量显然是错误的。您向其中添加了http://
URI Scheme。 http://
方案用于识别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
希望这会有所帮助