2

I'm using zend frameword version 1.11

My site using memcache to save session but want using more zend cache page to cache page html

Result: cache page html is not save right cache dir config, it save public path and data in file is null (0 KB)

To be bro help

my config in 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

My boostrap to init session handler

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;
    }
}

In init controller, i have using helper to save cache page, action which want save cache page

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

Many thanks

1 Answer 1

1

Resolved

I have 2 segment in config: cachemanager and cacheManager, when combining, zend cache only get first segment (cachemanager)

Config success:

; 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
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.