zend 框架中的缓存寄存器问题


Cache registery issue in zend framework

我在注册表cache遇到了一些问题。在这里,我如何配置缓存

resources.cache.frontEnd = core
resources.cache.backEnd = file
resources.cache.frontEndOptions.lifetime = 1200
resources.cache.frontEndOptions.automatic_serialization = true
resources.cache.backEndOptions.lifetime = 3600
resources.cache.backEndOptions.cache_dir = APPLICATION_PATH "/../cache"

在我加载的任何页面后,我收到以下错误消息

致命错误:未捕获的异常"Zend_Application_Bootstrap_Exception"消息"无法解析插件"缓存";无相应具有该名称的插件' 在C:''Zend''Apache2''htdocs''hotelrwanda''library''Zend''Application''Bootstrap''BootstrapAbstract.php:330堆栈跟踪:#0C:''Zend''Apache2''htdocs''hotelrwanda''library''Zend''Application''Bootstrap''BootstrapAbstract.php(382):Zend_Application_Bootstrap_BootstrapAbstract->getPluginResource('cache')

1 C:''Zend''Apache2''htdocs''hotelrwanda''library''Zend''Application''Bootstrap''BootstrapAbstract.php(394):

Zend_Application_Bootstrap_BootstrapAbstract->getPluginResources() #2C:''Zend''Apache2''htdocs''hotelrwanda''library''Zend''Application''Bootstrap''BootstrapAbstract.php(625):Zend_Application_Bootstrap_BootstrapAbstract->getPluginResourceNames()

3 C:''Zend''Apache2''htdocs''hotelrwanda''library''Zend''Application''Bootstrap''BootstrapAbstract.php(586):

Zend_Application_Bootstrap_BootstrapAbstract->_bootstrap(空) #4C:''Zend''Apache2''htdocs''hotelrwanda''library''Zend''Application.php(355):Zend_Applicatio 在C:''Zend''Apache2''htdocs''hotelrwanda''library''Zend''Application''Bootstrap''BootstrapAbstract.php330行

我确定这是配置问题。谁能帮我解决这个问题?

在缓存配置之前,尝试将以下行添加到配置文件中:

pluginPaths.App_Application_Resource_ = App/Application/Resource

错误消息意味着 Zend Framework 找不到"缓存"插件。

它应该是cachemanager而不是cache .文档链接:http://framework.zend.com/manual/en/zend.application.available-resources.html#zend.application.available-resources.cachemanager

错误

该错误意味着在配置的pluginPaths下找不到"Cache.php"文件,无论是在默认目录"/library/Zend/Application/Resource"下,还是在配置中定义为pluginPaths的其他路径下。

溶液

很可能配置(应用程序.ini)中的pluginPaths未正确定义或根本没有定义。所以找不到插件。

我定义了几个pluginPaths,当我尝试克隆zend应用程序时,我不得不重新定义这些位置,我在其中一个位置犯了一个错误,导致了此错误。

资源插件

在 Zend 1 中,资源插件是类,大多数是在应用程序中定义的.ini带有它们的参数。它们在应用程序需要时启动。

默认的资源插件路径是/library/Zend/Application/Resource,其他插件路径可以使用以下方法定义:

pluginPaths.Custom_Resource_Path = "path/to/Resource"

自定义类可以在"路径/到/资源"下添加:

// path/to/Resource/Custom.php:
class Path_To_Resource_Custom extends Zend_Application_Resource_ResourceAbstract 
{
      public function setParam1($param1) {
          ...
      }
      public function init()
      {
          ...
      }

在应用程序.ini中,添加了配置:

resources.custom.param1 = '...';
resources.custom.param2 = '...';

  • 通过在上述目录中创建一个与默认资源同名的类,例如 Log.php,可以覆盖默认资源。
  • 可以更改默认资源,例如 resources.view.encoding = "UTF-8"