php - 升级到 laravel 5.8 后数据库访问错误
问题描述
我使用laravelshift一次一步将 laravel 从 5.3 升级到 5.8,并测试了每次升级,例如
- 升级到5.4,经过测试
- 升级到5.5,测试...
- 升级到5.8,经过测试
但是当我将它部署在服务器上时,使用 Cpanel 设置的 Linode 服务器,我在该网站的 Mutiphp 管理器中选择了 php7.2。
现在这在宅基地的本地环境中完美运行,但在现场我得到了数据库错误“用户'homestead'@'localhost'的访问被拒绝(使用密码:YES)'。
我还尝试使用 mysql 命令行工具连接到 DB,它使用相同的密码工作。我还在cpanel中更改了密码并尝试使用新密码。没有任何工作。
解决方案
尽管 OP 通过使用不带特殊字符的密码找到了解决方案,但此问题的真正原因是 Laravel 5.8 使用了将符号视为注释开头的新phpdotenv
包。#
来自 Laravel 5.8 升级指南。
未引用值中的 # 字符现在将被视为注释而不是值的一部分。
为了保留以前的行为,您可以将环境值用引号括起来:
推荐阅读
- android - Google Admob api 创建了太多线程
- python - 如何在 Python 中删除父目录的名称
- java - 我的成员变量在 Eclipse 中用红色下划线
- java - 如何在 JavaFX 中默认检查单选按钮?
- alert - 如何将随机策略转换为 Pine Script 中的警报?
- delphi - Delphi - 在 64 位运行后,界面上的 TImage 内容可能会丢失
- c - After removing an employee, then adding a new employee. When listing all the employees save, the new employee does not show up
- c - &st[3]-st 在 printf("%ld", &st[3]-st) 中的含义
- aem - 无法获取 OSGi 配置值
- excel - 如何另存为,重命名文件的价值增加,由于文件先前存在而没有提示?