2012-01-23 10 views
7

Po wykonaniu aktualizacji kodu. Mam ten błąd. Czy możesz pomóc mi wymyślić ten jeden? Dałem 777 uprawnień do wszystkich folderów. Z góry dziękuję!Błąd krytyczny: nieprzechwycony wyjątek "Zend_Cache_Exception" z komunikatem> "katalog_pakietu musi być katalogiem"

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

Wydaje się, że Zend uważa, że ​​ustawiony przez Ciebie "katalog_cache" nie jest katalogiem, ale najprawdopodobniej plikiem. Jaką wartość ustawiłeś jako 'katalog_pakietu'? – drew010

+0

'cache_dir' => 'C: \ temp \ cache Utworzyłem ten folder, ponieważ już próbowałem rozwiązać problem w ten sposób. –

+3

W tym przypadku coś nie jest ustawione prawidłowo lub przekazane poprawnie, ponieważ w stosie śledzenia widzę 'Zend_Cache_Backend_File-> setCacheDir ('C: \ xampp \ htdocs ...')', więc wygląda na to, że próbuje użyć czegoś w 'C: \ xampp \ htdocs' jako katalog_cache, a nie' C: \ temp \ cache' – drew010

Odpowiedz

6

Ustawianie pamięci podręcznej w bootstrap

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

To działało! Jest to ogromny problem dla wielu ludzi i nikt nie zaoferował odpowiedzi. Dziękuję Ci! –

+0

Mam do czynienia z tym samym błędem, może ktoś mi powiedzieć, jak skonfigurować tę funkcję i w którym pliku umieścimy tę funkcję i gdzie można wywołać tę funkcję. z góry dziękuję. –

4

Nie chodzi o zezwolenia, ZF nie można znaleźć katalogu pamięci podręcznej. Sprawdź, czy katalog ustawiony w application.ini faktycznie istnieje. Ponieważ jesteś na komputerze Windows, uprawnienia nie powinny stanowić problemu.

5

Przejdź do C: \ xampp \ htdocs \ mts \ library \ Zend \ Cache \ Backend \ File.php w linii 154 i echo $value przed warunkami. Powinien dać ci adres do katalogu. Upewnij się, że katalog istnieje w systemie plików. Zasadniczo musisz ustawić tę ścieżkę poprawnie w konfiguracji Zend.

Powiązane problemy