Zend框架缓存中的Clousure出错

时间:2017-06-28 11:38:01

标签: php caching zend-framework zend-framework3

我遇到了Zend Framework缓存问题 - 当我将我的应用程序投入生产时,会出现此错误。

Fatal error: Uncaught Error: Call to undefined method Closure::__set_state() in /home/users/devmonitoring/data/cache/module-config-cache.application.config.cache.php:67 

Stack trace: 
#0 /home/users/devmonitoring/vendor/zendframework/zend-modulemanager/src/Listener/ConfigListener.php(392): include() 
#1 /home/users/devmonitoring/vendor/zendframework/zend-modulemanager/src/Listener/ConfigListener.php(70): Zend\ModuleManager\Listener\ConfigListener->getCachedConfig() 
#2 /home/users/devmonitoring/vendor/zendframework/zend-modulemanager/src/Listener/DefaultListenerAggregate.php(98): Zend\ModuleManager\Listener\ConfigListener->__construct(Object(Zend\ModuleManager\Listener\ListenerOptions)) 
#3 /home/users/devmonitoring/vendor/zendframework/zend-modulemanager/src/Listener/DefaultListenerAggregate.php(42): Zend\ModuleManager\Listener\DefaultListenerAggregate->getConfigListener() 
#4 /home/users/devmonitoring/vendor/zendframework/zend-mvc/src/Service/ModuleManagerFactory.php(77): Zend\ModuleManager\Listener\DefaultListenerAggregate-> in /home/users/devmonitoring/data/cache/module-config-cache.application.config.cache.php on line 67

我尝试清除缓存,但仍然会发生此错误。

1 个答案:

答案 0 :(得分:1)

您为配置文件打开缓存的时间,您将PHP设置为它无法执行的任务,即关闭序列化。它根本无法做到。

  

此外,您将失去使用缓存功能的能力   在其中使用闭包时的配置文件。这是一个   PHP的限制,不能(de)序列化闭包。

https://framework.zend.com/manual/2.2/en/modules/zend.service-manager.quick-start.html

换句话说,你必须求助于工厂。