升级到PHP 7.0.8后出现“致命错误:无法声明类”
作者:互联网
我使用的是PHP 7.0.4,一切运行顺利,我刚刚升级到PHP 7.0.8,我开始在这个地方遇到像这样的错误.
Fatal error: Cannot declare class Plugins\Users\Plugin because the name is already in use in /var/www/html/plugins/Users/Plugin.php on line 8
有没有人知道最新情况,我一直在阅读更改日志,但这是一个补丁更新它不应该破坏任何东西?
此外,如果没有找到此问题的解决方案,我该如何降级回7.0.4? (我正在使用ubuntu 16.04,我刚刚升级到点发布)
总结到目前为止的评论:
>我试过禁用opcache这没有解决问题
>我正在使用作曲家的自动加载器 – 我没有使用require或包含在任何地方
>这个错误发生在很多类中,所以它显然不是代码问题(就我而言),而且在升级到7.0.8之前代码工作正常.
解决方法:
没有足够的数据可以肯定地说,但我怀疑是opcache.那个错误,实际上是originates in opcache,所以我怀疑直到这一点错误已被几个操作码错误中的一个隐藏,可能是#66773.
您合法地有一个需要修复的自动加载问题.重命名该类,检查您的命名空间,并删除任何硬性要求.
您可以通过禁用/重新启用opcache或恢复到7.0.4来恢复以前的错误行为,但实际上该错误仅被自动加载和opcache的特定组合所掩盖.事实上,这个问题直到现在才被发现,而且只是偶然的,你可以再次掩饰它.
所以最好的方法是解决问题.
标签:ubuntu,php,opcache 来源: https://codeday.me/bug/20190519/1134738.html