升级到laravel 5.8后的数据库访问错误

时间:2019-04-01 19:02:39

标签: php mysql laravel laravel-5.8

我一次使用laravelshift将laravel从5.3升级到5.8,并测试了每次升级,例如

  • 升级到5.4,经过测试
  • 升级到5.5,经过测试 ...
  • 升级到5.8,经过测试

但是当我将其部署在服务器上时,即使用Cpanel设置的Linode服务器,并且在该网站的Mutiphp Manager中选择了php7.2。

现在,这在Homestead上的本地环境下可以完美运行,但是在实时运行中,我收到数据库错误“用户'homestead'@'localhost'(使用密码:是)的访问被拒绝”。

我还尝试使用mysql命令行工具连接到数据库,并且使用相同的密码即可工作。我还更改了cpanel中的密码,然后尝试使用新密码。什么都没用。

4 个答案:

答案 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升级指南。

  

未加引号的#号字符现在将被视为注释,而不是部分值。

     

要保留以前的行为,可以将环境值用引号引起来: