根据这个 PHP 错误报告,错误消息是由在 if 语句中嵌套一个类并静态声明它引起的。
我只在一个地方声明了一个类,但我用 if 保护了它:
if (!class_exists('myClass', false)) {
class myClass{
(尝试做一些类似于 C++ 预处理器指令/条件包含的事情。)
这是为了防止因多个编码器不正确地包含它而失败(require 而不是 require_once)。在这一点上,我唯一的其他选择是注释掉 if 并在应用程序中搜索包含,然后将它们全部设为“require_once”。
那么,有没有其他人遇到过这个错误,除了将所有要求更改为 require_once 之外,还有其他方法可以解决吗?(这个软件由多个编码人员维护,所以我想防止它失败。)
- 此错误仅偶尔(随机)发生,当它发生时,我必须从类文件中添加/删除一个空格并重新保存以修复错误。
附带说明一下,我们安装 APC 的主要原因是为了支持 IE 9 及更低版本的文件上传进度。因此,如果我们可以只启用这些部分,我们可以禁用导致此问题的任何功能。(不确定这是否可能。)
更新:重新保存文件显然没有效果。看起来它有一种“超时”。当错误发生时,我只需要等待一段时间让它消失。