使用XCache和PHP 5.3.2找不到现有的类

时间:2011-02-28 19:07:06

标签: php xcache

我在使用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运行相同的代码,一切运行正常。是否有一个解决方法/修复此问题并且有人知道这是否是一个已知问题,我用Google搜索疯狂并且无法提出任何解决方案,我已经阅读了一些使用php 5.3的类似问题的人.2和APC但看起来我正遭遇相反的情况。

我不确切地知道这个问题何时出现,但它在一周前工作正常,并且没有重大代码更改。在我的开发计算机和服务器上都会出现同样的问题,两者都运行相同的软件。

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

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

1 个答案:

答案 0 :(得分:0)

好的,我找到了解决这个问题的方法。在Vb_Post类的顶部,我加载了一些同样引用了Vb_Post类的类,显然它引起了某种冲突,阻止了在缓存时加载类。

修复: 在实际使用它之前在课堂内移动require_once('SomeClass.php')

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

所以,在与这些争斗一周后,这是我提出的最好的解决方案,希望这能帮助其他人。