Ok, here's the problem:
$frontendOptions = array(
'lifetime' => 7200,
'debug_header' => true, // for debugging, but it doesn't work...
'regexps' => array(
// Cache the static pages
'^/pages/' => array('cache' => true),
)
);
$backendOptions = $config->cache->backOptions->toArray();
// getting a Zend_Cache_Frontend_Page object
require_once 'Zend/Cache.php';
$cache = Zend_Cache::factory('Page',
$config->cache->backend,
$frontendOptions,
$backendOptions);
$cache->start();
This doesn't do anything at all. Page loading times are exactly the same and the folder indicated in $backendOptions
is empty. What am I doing wrong?
By the way: $config->cache->backend
reads "file"
.
Well, following my tradition of answering my own questions, here comes the answer, and a subquestion, if anyone knows what's going on:
Basically, this thing doesn't work out of the box if you happen to run something more advanced than Hello World. I had a cookie set and since it found a cookie, it refused to do anything about it, so one hour digging in the caching code I discovered that the magic needed was simply to set
'cache_with_cookie_variables' => true,
And well, since all cookies are more or less unique and I don't really want to care about them, I set
'make_id_with_cookie_variables' => false
So now it works flawlessly.
Thanks to Chris and smoove for taking the time out and now in hindsight your comments made a lot of sense. Naturally though, I didn't have any errors or warnings and "File" was indeed spelled with uppercase.
What I wonder now is if I can send a spike to delete the proper cache file upon certain circumstances. I can hammer it (copy the ID generator in the cache and unset() the proper target), but there might be a fancier solution. If you have any idea, let me know.