ZF: отключить плагин ресурсов в application.ini - PullRequest
2 голосов
/ 13 января 2011

Как я могу отключить кеш в среде?

Причина в том, что системный пользователь, выполняющий сценарий, не имеет права записи в каталог кэша, поэтому сценарий не может быть выполнен.

В моем 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]

* <]: -) </p>

Ответы [ 2 ]

4 голосов
/ 13 января 2011

Попробуйте

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

См. API и ZF Справочное руководство для свойства $_options в Zend_Cache_Core

1 голос
/ 13 января 2011

Как и вы, я не вижу очевидного способа отключить плагин в разделе конфигурации, который был зарегистрирован в родительском разделе.Было бы здорово, если бы Zend_Config_Ini допускало множественное наследование, вроде как элемент HTML может использовать несколько классов CSS в атрибуте class.(Неужели? Думаю, нет).Затем вы можете поместить регистрацию плагина в один раздел [myplugsection], разрешить [production] расширять [myplug], в то время как [cli] нет, вроде как в Doctrine есть actAs шаблонов и поведений.

Следующим лучшим вариантом может стать создание раздела под названием [core], содержащего большую часть того, что вы сейчас имеете в [production][production], и [cli] могут расширять [core], но [production] будет регистрировать плагин, а [cli] - нет.

Конечно, альтернативой может быть перемещение регистрационного модуля в Bootstrap.где у вас есть более точный контроль регистрации плагина.В частности, вы можете позвонить $front->unregisterPlugin(), где $front - это FrontController.

Просто мысли вслух ...

Приветствия!

...