2012-01-23 11 views
7

मेरा कोड अपडेट करने के बाद। मुझे यह त्रुटि मिली। क्या आप इसे समझने में मेरी मदद कर सकते हैं? मैंने सभी फ़ोल्डर्स को 777 अनुमति दी। अग्रिम धन्यवाद!घातक त्रुटि: संदेश के साथ अपूर्ण अपवाद 'Zend_Cache_Exception'> 'cache_dir एक निर्देशिका होना चाहिए'

Fatal error: Uncaught exception 'Zend_Cache_Exception' with message 'cache_dir must be a directory' in C:\xampp\htdocs\mts\library\Zend\Cache.php:208 Stack trace: #0 C:\xampp\htdocs\mts\library\Zend\Cache\Backend\File.php(154): Zend_Cache::throwException('cache_dir must ...') #1 C:\xampp\htdocs\mts\library\Zend\Cache\Backend\File.php(121): Zend_Cache_Backend_File->setCacheDir('C:\xampp\htdocs...') #2 C:\xampp\htdocs\mts\library\Zend\Cache.php(152): Zend_Cache_Backend_File->__construct(Array) #3 C:\xampp\htdocs\mts\library\Zend\Cache.php(93): Zend_Cache::_makeBackend('File', Array, false, false) #4 C:\xampp\htdocs\mts\application\Bootstrap.php(22): Zend_Cache::factory('Core', 'File', Array, Array) #5 C:\xampp\htdocs\mts\library\Zend\Application\Bootstrap\BootstrapAbstract.php(636): Bootstrap->_initCache() #6 C:\xampp\htdocs\mts\library\Zend\Application\Bootstrap\BootstrapAbstract.php(589): Zend_Application_Bootstrap_BootstrapAbstract->_executeResource('cache') 7# C:\xampp\htdocs\mts\library\Zend\Application\Bootstrap\Boots in C:\xampp\htdocs\mts\library\Zend\Cache.php on line 208

+0

ज़ेंड लगता है कि आपके द्वारा सेट किया गया 'cache_dir' निर्देशिका नहीं है, लेकिन संभवतः एक फ़ाइल है। आपने 'cache_dir' के रूप में क्या मूल्य निर्धारित किया? – drew010

+0

'cache_dir' => 'सी: \ temp \ cache मैंने इस फ़ोल्डर को बनाया है क्योंकि मैंने पहले से ही इस तरह की समस्या को संभालने का प्रयास किया था। –

+3

उस स्थिति में कुछ ठीक से सेट नहीं किया जा रहा है या सही तरीके से पारित नहीं किया गया है क्योंकि स्टैक ट्रेस में मुझे 'Zend_Cache_Backend_File-> setCacheDir (' C: \ xampp \ htdocs ... ') दिखाई देता है, इसलिए ऐसा लगता है कि इसमें कुछ उपयोग करने की कोशिश है 'C: \ xampp \ htdocs' cache_dir के रूप में,' C: \ temp \ cache' – drew010

उत्तर

6

बूटस्ट्रैप

protected function _initCaching() { 
     $frontend = array(
      'lifetime' => 7200, 
      'automatic_serialization' => true 
     ); 
     $backend = array(
      'cache_dir' => sys_get_temp_dir(), /**automatically detects**/ 
     ); 
     $cache = Zend_Cache::factory('core', 'File', $frontend, $backend); 
     Zend_Registry::set('cache', $cache); 
    } 
+3

यह काम करता है! यह बहुत सारे लोगों के लिए एक बड़ा मुद्दा है, और किसी ने भी जवाब नहीं दिया है। धन्यवाद! –

+0

मुझे एक ही त्रुटि का सामना करना पड़ रहा है क्या कोई मुझे बता सकता है कि इस फ़ंक्शन को कैसे सेट अप करें और किस फ़ाइल में हम उस फ़ंक्शन को रखें और उस फ़ंक्शन को कहां कॉल करें। अग्रिम में धन्यवाद। –

4

यह अनुमति बारे में नहीं है में कैश करने के बाद, जेडएफ कैश निर्देशिका नहीं मिल रहा। जांचें कि क्या आपने application.ini में सेट की गई निर्देशिका वास्तव में मौजूद है या नहीं। जैसा कि आप Windows मशीन पर हैं, अनुमतियां कोई समस्या नहीं होनी चाहिए।

5

शर्तों पर जाने से पहले लाइन 154 और echo $value पर सी: \ xampp \ htdocs \ mts \ library \ Zend \ Cache \ Backend \ File.php पर जाएं। यह आपको एक निर्देशिका पता देना चाहिए। सुनिश्चित करें कि निर्देशिका आपके फाइल सिस्टम में मौजूद है। असल में आपको अपने ज़ेंड कॉन्फ़िगरेशन में इस पथ को सही ढंग से सेट करने की आवश्यकता है।