【发布时间】:2017-01-02 18:24:28
【问题描述】:
我尝试使用 composer 从 Symfony 3.1.8 升级到 3.2.1。在缓存清除期间,我收到一条错误声明
驱动发生异常:SQLSTATE[HY000] [1045] Access denied 对于用户'########'@'IpAddress'(使用密码:YES)
但是我的数据库用户名应该是#######_#,请注意倒数第二个字符位置的下划线。查看 parameter.yml 文件,我发现我的 database_user 已更改为从用户名中删除 _(下划线已被删除)。然后我添加了我的下划线,删除了开发缓存,并再次尝试了该应用程序。我收到了和以前一样的错误。
因为 composer 还同时更新了学说和 FOSuser 包,所以我恢复了更新并通过恢复我的 composer.lock 文件返回到我之前的配置。然后我在 3.1.8 版本中再次运行了我的 Symfony 应用程序,它运行良好。
为了进一步隔离问题,我使用了 composer 并仅将 symfony 从 3.1.8 升级到 3.2.1。升级在缓存清除时产生错误并显示上述错误消息,并且在我的 parameters.yml 文件中,我的 database_user 再次从用户名中删除了下划线。我重新插入了下划线,但我仍然收到错误消息:
驱动发生异常:SQLSTATE[HY000] [1045] Access denied 对于用户'########'@'IpAddress'(使用密码:YES)
如果我在 database_user 的末尾添加一个字母,所以它是“#######_#a”,错误消息会显示 _
驱动发生异常:SQLSTATE[HY000] [1045] Access denied 对于用户'#######_#a'@'IpAddress'(使用密码:YES)
如果我随后删除该字母,则错误消息将恢复为无下划线
驱动发生异常:SQLSTATE[HY000] [1045] Access denied 对于用户'########'@'IpAddress'(使用密码:YES)
这让我相信 Symfony 在 3.1.8 和 3.2.1 之间的一些变化从 parameters.yml 文件中的 database_user 中去除了下划线。不幸的是,我不够熟练,无法弄清楚该代码可能在哪里。
【问题讨论】:
标签: php symfony symfony-3.1