ZF:在application.ini中禁用资源插件

时间:2011-01-13 09:09:43

标签: php zend-framework zend-cache zend-application zend-config

如何在cli环境中禁用缓存?

原因是,不允许执行脚本的系统用户写入缓存目录,因此脚本无法执行。

在我的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]

* LT]: - )

2 个答案:

答案 0 :(得分:4)

尝试

resources.cachemanager.database.frontend.options.caching = false

$_options

中查看APIZend_Cache_Core属性{{1}}

答案 1 :(得分:1)

和你一样,我没有看到在父节中注册的配置部分中禁用插件的明显方法。如果Zend_Config_Ini允许多重继承,那将会很酷,有点像HTML元素如何在class属性中有多个CSS类。 (是吗?我猜不是)。然后,您可以将插件注册放入一个部分[myplugsection],允许[production]扩展[myplug][cli]则不会,就像Doctrine有actAs个模板一样和beahviors。

接下来最好的事情可能是创建一个名为[core]的部分,其中包含您现在在[production]中所拥有的大部分内容。 [production][cli]都可以扩展[core],但[production]会注册插件而[cli]则不会。{/ p>

当然,另一种方法是将插件注册移动到Bootstrap中,您可以更好地控制插件注册。特别是,您可以致电$front->unregisterPlugin(),其中$frontFrontController

大声思考......

干杯!