ZF-4593: "cache_id_prefix" is prepended twice in Zend_Cache_Core::save() method if "write_control" option is enabled (and data fails integrity check)


If user has "write_control" enabled (default setting) for a Zend_Cache_Core object and they also set a "cache_id_prefix", then the "cache_id_prefix" will be prepended twice when removing the cache entry (when "written and read data do not match").

The problem seems to be on line 375 of Standard_Library/trunk/library/Zend/Cache/Core.php:r11143?


fixed in SVN trunk (many thanks for this good bug report)

Changing issues in preparation for the 1.7.0 release.


today i got this error: ??2010-01-09T16:27:34+01:00 WARN (4): Zend_Cache_Core::save() / write_control : written and read data do not match??

system: os: ubuntu karmic php: PHP 5.2.10-2ubuntu6.3 with Suhosin-Patch 0.9.7 (cli) (built: Nov 26 2009 14:42:49) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies zf: 1.10.0alpha1

i'm using Zend_Cache with the following configuration:


this is my bootstrap initialization:

protected function _initCache()
        $cacheData = $this->configuration->get('cache')->toArray();
        $this->cache = Zend_Cache::factory( new Zend_Cache_Core($cacheData['frontendOptions']), new Zend_Cache_Backend_Memcached($cacheData['backendOptions']));
        Zend_Registry::set('cache', $this->cache);
        return $this->cache;