PHP + APC + Zend:无法找到类

时间:2011-09-02 12:46:03

标签: php caching doctrine apc

我无法使用Zend + Doctrine应用程序使APC正常工作。当我打开APC时,我得到错误:

  

致命错误:访问未声明的静态属性:第92行的/var/www/libs/Zend/Loader/Autoloader.php中的Zend_Loader_Autoloader :: $ _ instance

我见过很多人抱怨这个,但似乎没有人解决他们的问题,除了这个人:Access to undeclared static property: Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver::

我尝试了这种方法,将APC从3.1.3升级到3.1.9。它对我不起作用。 我尝试启用nclude_once_override:

  

apc.include_once_override = 1

也没用。

我还尝试让APC不要将以下行添加到apc.ini中来缓存Zend_Loader_Autoloader:

  

apc.filters = Autoloader.php

它解决了主要问题,但引起了另一个问题:

  

警告:call_user_func()期望参数1是有效的回调,第472行/var/www/libs/Zend/Loader/Autoloader.php中找不到类'Zend_Loader'警告:call_user_func()期望参数1为是一个有效的回调,第472行/var/www/libs/Zend/Loader/Autoloader.php中找不到类'Zend_Loader'致命错误:/ var / www / libs / Doctrine / Record中找不到类'Doctrine_Event'。 php在801线上

接下来我做的是让APC不要缓存Zend_Loader

  

apc.filters = Autoloader.php,Loader.php

解决上述问题,但找不到其他类:

  

致命错误:第99行的/var/www/libs/Zend/Loader.php中找不到类'Zend_Exception'

我让APC不要缓存Zend_Exception,但是找不到其他类。

请注意,错误仅在清除缓存后第二次加载页面时发生。首页加载就像魅力一样。

任何人遇到类似的问题并且能够解决它?

非常感谢。

1 个答案:

答案 0 :(得分:0)

您需要session_write_close()

\Zend_Session::setSaveHandler($foo);
register_shutdown_function('session_write_close');