ZF:在application.ini中禁用资源插件
如何禁用cli环境中的缓存?ZF:在application.ini中禁用资源插件
原因是,执行脚本的系统用户不允许写入缓存目录,因此脚本无法执行。
在我的application.ini我有
[production]
resources.cachemanager.database.frontend.name = Core
resources.cachemanager.database.frontend.customFrontendNaming = false
resources.cachemanager.database.frontend.options.lifetime = 7200
resources.cachemanager.database.frontend.options.automatic_serialization = true
resources.cachemanager.database.backend.name = File
resources.cachemanager.database.backend.customBackendNaming = false
resources.cachemanager.database.backend.options.cache_dir = HTTPDOCS_PATH "/data/cache/database"
resources.cachemanager.database.frontendBackendAutoload = false
[cli : production]
* <] :-)
尝试
resources.cachemanager.database.frontend.options.caching = false
请参阅$_options
财产API和ZF Reference Guide在Zend_Cache_Core
resources.cachemanager.database.frontend.options.caching = false resources.cachemanager.database.backend.options.cache_dir =“/ tmp” 解决了我的问题 - 谢谢! – Phliplip 2011-01-13 11:54:00
和你一样,我没有看到明显的方法来禁用在父节中注册的配置节中的插件。如果Zend_Config_Ini
允许多重继承,就好像HTML元素在类属性中可以多个CSS类一样。 (是吗?我猜不是)。那么你可以把插件注册到一个部分[myplugsection]
,允许[production]
扩展[myplug]
而[cli]
不,有点像教条有actAs
模板和beahviors。
下一个最好的事情可能是创建一个名为类似[core]的部分,其中包含您现在在[production]
中所拥有的大部分内容。 [production]
和[cli]
都可以延伸[core]
,但[production]
会注册该插件,而[cli]
则不会。
当然,另一种方法是将插件注册移动到Bootstrap,以便更好地控制插件注册。特别是,您可以拨打$front->unregisterPlugin()
,其中$front
是FrontController
。
只是想着大声...
干杯!
D'oh!刚刚意识到你正在谈论资源而不是插件。原则上,我概述的继承方案 - 使用`[core]`作为[cli]`和[[production]]的通用父节应适用于放入节中的任何内容,包括`resources。*` 。 – 2011-01-14 08:36:47
我在问如何在继承生产的CLI中禁用缓存。 – Phliplip 2011-01-13 09:30:36