का उपयोग करने के लिए memcache एक्सटेंशन लोड किया जाना चाहिए, मुझे memcached इंस्टॉल किया गया है। यह phpinfo() से है:इस बैकएंड
लेकिन जब इसे इस तरह का उपयोग कर:
The memcache extension must be loaded for using this backend
कोई भी विचार:
private static function getZendCacheMemcachedObject()
{
$frontendOpts = array(
'caching' => true,
'lifetime' => 3600,
'automatic_serialization' => true
);
$backendOpts = array(
'servers' =>array(
array(
'host' => 'localhost',
'port' => 11211,
'weight' => 1
)
),
'compression' => false
);
return Zend_Cache::factory('Core', 'Memcached', $frontendOpts, $backendOpts);
}
public function foo($id)
{
$cache = self::getZendCacheMemcachedObject();
$cacheKey = 'foo_'.$id;
$xml = $cache->load($cacheKey);
if (false === $xml) {
$xml = $this->httpClient->foo();
$cache->save($xml, $cacheKey);
}
return $xml;
}
मैं इस त्रुटि मिलती है?
आपका कोड पहले एक की जरूरत है:
FYI करें जेडएफ कि त्रुटि आउटपुट यदि 'extension_loaded ('मेम्कैश')' झूठी देता है, तो कुछ अजीब है आपकी विन्यास के साथ चल रहा है। –
ठीक है, समस्या यह प्रतीत होती है कि Zend_Cache_Backend_Memcached memcached के बजाय memcache लाइब्रेरी लोड कर रहा है। जब यह memcache का उपयोग करता है तो इसे मेकैच क्यों कहा जाता है? WTF। –
यह मदद कर सकता है: http://serverfault.com/questions/63383/memcache-vs-memcached - मेरे phpinfo को देखकर, यह निश्चित रूप से 'memcache' है जिसे मैंने इंस्टॉल किया है, जबकि आपका 'memcached' सूचीबद्ध है –