非常偶然致命的PHP错误,“无法执行”自动加载功能

时间:2011-11-19 23:19:36

标签: php

我不知道如何解决这个非常偶然的PHP进入的有趣状态。所以任何想法都将受到赞赏。

在过去一年中可能会有3到4次,我的网站将开始返回500个错误,日志显示:

PHP致命错误:无法在第0行的“未知”中执行方法dw__autoload

dw__autoload已在spl_autoload_register中注册。当我重新启动apache时,问题就消失了,我忘记了好几个月了。我在ubuntu 10.04.3上运行APC,php 5.3.2-1ubuntu4.10。我意识到这里没什么可去的了!

1 个答案:

答案 0 :(得分:3)

source code from the point of this error之后,我冒险(心理调试,因为你没有更多的细节)说这发生了,因为自动加载被调用已经抛出异常。

那就是说,我无法确切地看到这是怎么发生的。在调用自动​​装带器之前和调用每个SPL自动装载器功能之后,将清除当前异常。如果没有重现此问题的脚本,我认为我们无法得出结论。完整的可能性是:

  • 执行已经关闭
  • 有一个当前的例外
  • 该功能不再有效(我发现这只是由于PHP中的错误而发生,但无论如何它不太可能因为它几乎肯定会在之前产生警告)
  • 自动装带器功能需要一个参考(再次,这也会产生一个警告,你的自动加载器永远不会工作)。