0

我在使用 XCache 和 PHP 5.3.2 时遇到了最奇怪的问题,有一个类 'Vb_Post' 不会被 PHP 加载并引发致命错误: Fatal error: Class 'Vb_Post' not found in /Users/mario/Sites/m.techspot/app/models/Vb/Comments.php on line 5

如果我使用 PHP 5.2 和 XCache 1.2.2 或 PHP 5.3.2 和 APC 运行相同的代码,一切运行正常。是否有解决方法/修复这个问题,有谁知道这是否是一个已知问题,我已经疯狂地用谷歌搜索并且无法提出任何解决方案,我读过一些使用 php 5.3 遇到类似问题的人.2和APC,但看起来我正在遭受相反的痛苦。

我不知道这个问题是什么时候出现的,但直到一周前它还运行良好,并且没有重大的代码更改。同样的问题发生在我的开发计算机和服务器上,它们都运行相同的软件。

我很确定它与 XCache 有关,因为它第一次运行一切正常,错误出现在后续请求中。

难道是有一些隐藏的角色导致了这个问题?

4

1 回答 1

0

好的,我找到了解决此问题的方法。在 Vb_Post 类的顶部,我加载了一些也引用了 Vb_Post 类的类,显然它导致了某种冲突,从而阻止了在缓存时加载该类。

修复:require_once('SomeClass.php')在实际使用之前移动类内部。

...
public function someAction()
{
    require_once('SomeClass.php');
    var $sc = new SomeClass();
    ...
}
...

所以,在与这些斗争了大约一个星期之后,这是我想出的最好的解决方案,希望这对其他人有帮助。

于 2011-02-28T20:56:55.743 回答