首页 > 解决方案 > 升级到 laravel 5.8 后数据库访问错误

问题描述

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

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

现在这在宅基地的本地环境中完美运行,但在现场我得到了数据库错误“用户'homestead'@'localhost'的访问被拒绝(使用密码:YES)'。

我还尝试使用 mysql 命令行工具连接到 DB,它使用相同的密码工作。我还在cpanel中更改了密码并尝试使用新密码。没有任何工作。

标签: phpmysqllaravellaravel-5.8

解决方案


尽管 OP 通过使用不带特殊字符的密码找到了解决方案,但此问题的真正原因是 Laravel 5.8 使用了将符号视为注释开头的新phpdotenv包。#

来自 Laravel 5.8 升级指南。

未引用值中的 # 字符现在将被视为注释而不是值的一部分。

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


推荐阅读