Uncaught exception 'Zend_Cache_Exception'
Работал себе да работал один мой сайт, который еще не совсем доведен до ума. Сегодня захожу и вижу на главной странице сообщение:
Warning: is_dir() [function.is-dir]: open_basedir restriction in effect. File(/) is not within the allowed path(s): (/home:/tmp) in /home/XXXXXXXXXX/public_html/classes/lib/external/DklabCache/Zend/Cache/Backend/File.php on line 145
Fatal error: Uncaught exception 'Zend_Cache_Exception' with message 'cache_dir must be a directory' in /home/XXXXXXXXXX/public_html/classes/lib/external/DklabCache/Zend/Cache.php:141 Stack trace: #0 /home/XXXXXXXXXX/public_html/classes/lib/external/DklabCache/Zend/Cache/Backend/File.php(146): Zend_Cache::throwException('cache_dir must ...') #1 /home/XXXXXXXXXX/public_html/classes/lib/external/DklabCache/Zend/Cache/Backend/File.php(121): Zend_Cache_Backend_File->setCacheDir('/') #2 /home/XXXXXXXXXX/public_html/classes/modules/sys_cache/Cache.class.php(71): Zend_Cache_Backend_File->__construct(Array) #3 /home/XXXXXXXXXX/public_html/classes/engine/Engine.class.php(68): Cache->Init() #4 /home/XXXXXXXXXX/public_html/classes/engine/Router.class.php(95): Engine->InitModules() #5 /home/XXXXXXXXXX/public_html/index.php(31): Router->Exec() #6 {main} thrown in /home/XXXXXXXXXX/public_html/classes/lib/external/DklabCache/Zend/Cache.php on line 141
11 комментариев
Да вроде все нормально. Если конечно я все пути проверил…
/public_html/templates/cache/ 777
/public_html/templates/compiled/ 777
Интересно то, что сайт работал и я к нему даже не прикосался.
Максим, подскажите пожалуйста как починить?
побдерите каталогам более подходящее место.
Решение:
1. Создаем папку cache в корне сайта;
2. Открываем /config/config.php, ищем:
define('SYS_CACHE_DIR',$sTmpDir.'/'); // каталог для файлового кеша, также используется для временных картинок. По умолчанию подставляем каталог для хранения сессий
и заменяем на:
define('SYS_CACHE_DIR',DIR_SERVER_ROOT.'/cache'); // каталог для файлового кеша, также используется для временных картинок. По умолчанию подставляем каталог для хранения сессий
Options -Indexes
<Directory /path/to/diretcory>
order allow,deny
deny from all
Хотя можно и без <<Directory ...> если htaccess создается в самой папке с кешем