我一次使用laravelshift将laravel从5.3升级到5.8,并测试了每次升级,例如
但是当我将其部署在服务器上时,即使用Cpanel设置的Linode服务器,并且在该网站的Mutiphp Manager中选择了php7.2。
现在,这在Homestead上的本地环境下可以完美运行,但是在实时运行中,我收到数据库错误“用户'homestead'@'localhost'(使用密码:是)的访问被拒绝”。
我还尝试使用mysql命令行工具连接到数据库,并且使用相同的密码即可工作。我还更改了cpanel中的密码,然后尝试使用新密码。什么都没用。
答案 0 :(得分:0)
您的服务器中可能没有宅基地命名数据库。首先创建数据库,然后尝试连接。
答案 1 :(得分:0)
当我第一次使用mariadb时,我遇到了同样的问题,也许,本文为您解决了问题。
看这里:https://superuser.com/questions/603026/mysql-how-to-fix-access-denied-for-user-rootlocalhost
答案 2 :(得分:0)
将密码更改为更简单的名称,例如仅数字和数字字符,没有像#
或(
等特殊字符对我有用。
复杂的密码(包括特殊字符)在命令行中使用mysql
工具对我有用,但是在运行php artisan install
或在浏览器http://my-project.dev
中运行代码时,会出错。
答案 3 :(得分:0)
即使OP通过使用不带特殊字符的密码找到了解决方案,但此问题的真正原因是Laravel 5.8使用了新的phpdotenv
软件包,该软件包将#
符号视为注释的开头。
根据Laravel 5.8升级指南。
未加引号的#号字符现在将被视为注释,而不是部分值。
要保留以前的行为,可以将环境值用引号引起来: