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

标签 php mysql laravel laravel-5.8

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

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

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

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

我还尝试使用 mysql 命令行工具连接到数据库,并且它使用相同的密码。我还更改了 cpanel 中的密码并尝试使用新密码。没有任何效果。

最佳答案

尽管 OP 已经通过使用没有特殊字符的密码找到了解决方案,但这个问题的真正原因是 Laravel 5.8 使用新的 phpdotenv 包,它将 # 符号视为评论开始。

来自 Laravel 5.8 升级指南。

the # character in an unquoted value will now be considered a comment instead of part of the value.

To preserve the previous behavior, you may wrap the environment values in quotes:

关于php - 升级到 laravel 5.8 后数据库访问错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55461886/

相关文章:

php - 如何在 php 中将浮点值转换为整数?

php - woocommerce 中的产品图库附件 url

c++ - 处理 MySQL C++ 连接器上丢失的 TCP 连接

PHP 错误 - 未定义方法 DB_Connect::query()

php - 在 Laravel 5.x 中为 trans() 组织本地化文件的好策略是什么?

php - SMTP 错误(220-我们未授权使用此系统传输未经请求的 220 和/或批量电子邮件。)

php - 使用 Laravel 中的三个表的数据返回 json

MySQL 密码在 Windows 中被 powershell 修改

php - (Laravel) 基于用户输入的接口(interface)动态依赖注入(inject)

php - 我应该使用Put、Patch 和Delete 吗?我正在读一些东西,这让我想知道使用它们是否符合惯例