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