ZF-6239: Feature introduced in ZF-5938 breaks backwards compatibility in Memcached cache backend


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:… 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.


just fixed in SVN trunk (I changed the default value (empty string) to null)


please reopen if you still have a problem

Thank you , Fabien and Mikko!