2017-10-20 159 views
0

我目前正在致力于Laravel项目。我做了一个共享服务器上部署,但我得到的错误信息错误SQLSTATE [HY000] [1045]

“SQLSTATE [HY000] [1045]访问被拒绝的用户 '根' @ 'localhost' 的(使用密码:NO)”

Local中的项目正确运行,但在服务器上仅限于错误。我在我的配置环境变量.env

我认为服务器可能不读取.env文件,这就是问题出现的原因。

+2

第一总之,你应该使用'root'来登录你的sql数据库。数据库应该有它自己的帐户,具有指定的访问权限,而不是root获得的** _ all _ **访问权限。这非常危险。其次,您的访问被拒绝,这意味着ROOT可能有一个密码,您不使用。 – GrumpyCrouton

+0

https://www.google.com/search?q=stackoverflow+SQLSTATE+%5BHY000%5D+%5B1045%5D&oq=stackoverflow+SQLSTATE+%5BHY000%5D+%5B1045%5D&gs_l=psy-ab.3...9710.9888.0.10127 .2.2.0.0.0.0.113.217.0j2.2.0 .... 0 ... 1.1.64.psy-ab..0.1.112 ... 0j​​0i10k1.0.MyOrEX3TrLM – bassxzero

+0

@bassxzero谢谢!我创建了一个新的数据库并创建了一个新用户。然后我按照Laravel的规定更改了我的.env文件中的数据。 以前,我将项目加载到Laravel,但我没有使用数据库。但问题仍在继续。 看来我的.env文件中的变化无法被主机识别 –

回答

1

清除通过添加和运行这条路线的现场服务器缓存:

Route::get('/clear-cache', function() { 
    $exitCode = Artisan::call('cache:clear'); 
    // return what you want 
}); 
+0

您不应该修改此文件,这是.env – Option

+0

@Options文件的要点和目的? –

+0

database.php文件 – Option

0

你必须添加适当的数据库凭据.ENV文件..你可以找到数据库凭据的cPanel

+0

我已经更改了.env文件中的数据(根据我数据库中的数据,我也切换到了生产) 我也将“调试”模式更改为false,但仍显示错误。看来我的.env文件中的更改无法被Hosting识别 –

相关问题