ZF-6239: Feature introduced in ZF-5938 breaks backwards compatibility in Memcached cache backend
Description
1.8.0 pre-release introduced the failure callback functionality on the Memcached cache backend. The constant DEFAULT_FAILURE_CALLBACK defines that by default the callback is empty string (it will be empty with almost all applications since this is new functionality).
Memcache extension however does the following check:
http://cvs.php.net/viewvc.cgi/pecl/… line 2045: if (failure_callback != NULL && Z_TYPE_P(failure_callback) != IS_NULL) {
If failure callback is something else than NULL the extension then checks if the function is callable. Naturally empty string is not callable and that causes memcache extension to return false (which btw the cache backend doesnt check) and the server does not get added to the pool. Since the functionality is imposed by default this causes failure on all applications that use memcached backend without defining failure_callback.
Comments
Posted by Fabien MARTY (fab) on 2009-04-08T11:29:06.000+0000
just fixed in SVN trunk (I changed the default value (empty string) to null)
thanks
please reopen if you still have a problem
Posted by old of Satoru Yoshida (yoshida@zend.co.jp) on 2009-04-08T17:44:58.000+0000
Thank you , Fabien and Mikko!