php zend-framework zend-cache zend-application zend-config

php - ZF: deshabilita el complemento de recursos en application.ini



zend-framework zend-cache (2)

Tratar

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

Consulte la API y la Guía de referencia de ZF para la propiedad $_options en Zend_Cache_Core

¿Cómo puedo desactivar la caché en el entorno cli?

Por lo que respecta a la razón, el usuario del sistema que ejecuta el script no puede escribir en el directorio de caché, por lo que el script no puede ejecutarse.

En mi application.ini tengo

[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]

* <] :-)


Al igual que usted, no veo una forma obvia de desactivar un complemento en una sección de configuración que se registró en una sección principal. Sería genial si Zend_Config_Ini permitiera la herencia múltiple, algo así como que un elemento HTML puede tener varias clases de CSS en el atributo de clase. (¿Lo hace? Supongo que no). Entonces podrías poner el registro del complemento en una sección [myplugsection] , permitir que [production] extender [myplug] mientras que [cli] no, como la forma en que Doctrine tiene actAs plantillas y los comportamientos de actAs.

La mejor alternativa podría ser crear una sección llamada algo así como [core] que contenga la mayor parte de lo que ahora tiene en [production] . Tanto [production] como [cli] podrían ampliarse [core] , pero [production] registraría el complemento mientras que [cli] no lo haría.

Por supuesto, una alternativa sería mover el registro del complemento a Bootstrap, donde tiene un control más preciso del registro del complemento. En particular, puede llamar $front->unregisterPlugin() , donde $front es FrontController .

Solo pensando en voz alta ...

¡Aclamaciones!