2013-08-01 1 views
2

Я использую Zend frameword версию 1,11рамки Зенда при использовании как mencache и кэша страницы

Моего сайт с помощью кэша памяти для сохранения сеанса, но хотите использовать больше кеширования страницы Зенда кэшировать страницы HTML

Результата: страницы кэша HTML является не сохранить право кэш реж конфигурации, это сохранить общественного путь и данные в файле является нулевым (0 KB)

Чтобы быть братан помощь

мой конфиг в Application.ini

; MEMCACHE CONFIG 
resources.cachemanager.memcached.frontend.name       = Core 
resources.cachemanager.memcached.frontend.options.automatic_serialization = On 
resources.cachemanager.memcached.backend.name        = Memcached 
resources.cachemanager.memcached.backend.options.servers.one.host   = 10.60.80.51 
resources.cachemanager.memcached.backend.options.servers.one.port   = 11211 
resources.cachemanager.memcached.backend.options.servers.one.persistent = On 

; session savehandler class 
resources.session.name = PHPGAME1_SESSION 
resources.session.saveHandler.class  = Zend_Session_SaveHandler_Cache 
resources.session.gc_maxlifetime   = 7200 
resources.session.cookie_domain   = ".game5.vn" 

;cofig cache page 
resources.cacheManager.page.backend.options.public_dir = PUBLIC_PATH "/cached" 
resources.cacheManager.pagetag.backend.options.cache_dir = WEB_PATH "/data/cache/tags" 
resources.frontController.params.disableOutputBuffering = true 
resources.cacheManager.page.backend.options.disable_caching = false 

Мой boostrap инициализировать обработчик

protected function _initSessionId() 
{ 
    $opts = $this->getOptions(); 
    if (isset($opts['resources']['session']['saveHandler']['class']) && 
      'Zend_Session_SaveHandler_Cache' == $opts['resources']['session']['saveHandler']['class']) { 
     $this->bootstrap('session'); 
     $cache = $this->bootstrap('cachemanager') 
     ->getResource('cachemanager') 
     ->getCache('memcached'); 
     Zend_Session::getSaveHandler()->setCache($cache); 

    }      
    $defaultNamespace = new Zend_Session_Namespace(); 
    if (!isset($defaultNamespace->initialized)) { 
     Zend_Session::regenerateId(); 
     $defaultNamespace->initialized = true; 
    } 
} 

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

$this->_helper->cache(array('index'), array('content')); 

Большое спасибо

ответ

1

Решенный

У меня есть 2 сегмента в конфигурации: cachemanager и cacheManager, при совмещении, кэш Зенд получить только первый сегмент (cachemanager)

Config успеха:

; CACHE CONFIG 
resources.cachemanager.memcached.frontend.name       = Core 
resources.cachemanager.memcached.frontend.options.automatic_serialization = On 
resources.cachemanager.memcached.backend.name        = Memcached 
resources.cachemanager.memcached.backend.options.servers.one.host   = 127.0.0.1 
resources.cachemanager.memcached.backend.options.servers.one.port   = 11211 
resources.cachemanager.memcached.backend.options.servers.one.persistent = On 

; session savehandler class 
resources.session.name = PHPGAME5_SESSION 
resources.session.saveHandler.class  = Zend_Session_SaveHandler_Cache 
resources.session.gc_maxlifetime   = 7200 
resources.session.cookie_domain   = ".game5.vn" 


; CACHE CONFIG 
resources.cachemanager.page.backend.options.public_dir = PUBLIC_PATH "/cached" 
resources.cachemanager.pagetag.backend.options.cache_dir = WEB_PATH "/data/cache/tags" 
resources.frontController.params.disableOutputBuffering = true 
resources.cachemanager.page.backend.options.disable_caching = false 
resources.cachemanager.page.backend.options.cache_directory_umask = 0775 
resources.cachemanager.page.backend.options.cache_file_umask = 0775 
Смежные вопросы