Я уже писал про проблему с кэшем. Меня посылали на похожие темы, которые уже обсуждались, но все эти ответы так и не помогли решить проблему.
На некоторое время меня это перестало беспокоить, так как я просто сменил хостинг (где-то я про это тоже отписывался). На том хостинге проблем с кэшем не возникло, но было множество других (не касающихся движка).
И я вернулся обратно на sweb, так как мытляться от хостера к хостеру не хочется. Вернулась и не решенная проблема с cache.
Так вот, может тут кто-то есть, кто хостится на swebe, можете помочь с проблемой подключения кэша?
И вопрос номер два: в следующей версии движка есть какие-то изменения в этом вопросе? Может не стоит беспокоиться, а просто подождать следующую версию?
РЕШЕНИЕ ПРОБЛЕМЫ
Спасибо, bandit'у за подробно расписанное пособие по решению проблемы cache на хостинге sweb.ru. Выношу в пост, чтобы было легче найти.
I. Создаем папку в корне с названием tmp. Устанавливаем на нее права 777.
II. Переименовываем каталог /classes/lib/external/DklabCache/Zend в Zend2.
1. Включаем кэширование в строке:
define('SYS_CACHE_USE',true); // использовать кеширование или нет
2. Указываем путь к папке tmp
define('SYS_CACHE_DIR',$sTmpDir.'/home/тут_какая-то_буква)/_логин_на_хостинге/_папка_с_сайтом/public_html/tmp/');
*Полный адрес можно узнать у хостера или посмотреть какой адрес выводится при ошибке cache
55 комментариев
Я хостюсь у sweb.ru, проблему кеширования решил вот прочитав вот здесь
Итак я взял последний SVN (Changeset [135]), сделал полностью рабочую версию для нашего «чудо» хостинга. От тебя лишь требуется прописать в config/config.db.php свою данные. В config/config.php конкретно для тебя, прописал правильный путь до темпа. Протестировал, все работает!
Уже озвучивал идею: сделать ЖУ-специфичный хостинг. За деньги :)
Чтоб одной кнопкой создавался сайт (в смысле настройка поиска, мемкеша) гуй-конфигуратор настроек. Популярность движка растет — можно немного подзаработать, особенно если сервер не особо нагружен.
Fatal error: Uncaught exception 'Zend_Cache_Exception' with message 'cache_dir must be a directory' in /home/k/ki/kinomobila-ru.tut.su/public_html/classes/lib/external/DklabCache/Zend2/Cache.php:141 Stack trace: #0 /home/k/ki/kinomobila-ru.tut.su/public_html/classes/lib/external/DklabCache/Zend2/Cache/Backend/File.php(146): Zend_Cache::throwException('cache_dir must ...') #1 /home/k/ki/kinomobila-ru.tut.su/public_html/classes/lib/external/DklabCache/Zend2/Cache/Backend/File.php(121): Zend_Cache_Backend_File->setCacheDir('/var/lib/php/se...') #2 /home/k/ki/kinomobila-ru.tut.su/public_html/classes/modules/sys_cache/Cache.class.php(71): Zend_Cache_Backend_File->__construct(Array) #3 /home/k/ki/kinomobila-ru.tut.su/public_html/classes/engine/Engine.class.php(68): Cache->Init() #4 /home/k/ki/kinomobila-ru.tut.su/public_html/classes/engine/Router.class.php(95): Engine->InitModules() #5 /home/k/ki/kinomobila-ru.tut.su/public_html/index.php(31): Router->Exec() #6 {main} thrown in /home/k/ki/kinomobila-ru.tut.su/public_html/classes/lib/external/DklabCache/Zend2/Cache.php on line 141
Вобщем столкнулся с проблемой.
все тот же хост sweb.
Проблема в том, что я не знаю где хранистся мой кеш. В конфиге указал папку tpl, прописал полный путь. А папка tpl пустая. Права на ней 777.
В чем может быть проблема?
На бестхостере тож танцевать с кешем пришлось… какойто совсем не ливстрит не дружелюбный к хостингу стал… первое двигло не вставшее на бестхостера… хатя я к нему с петерхоста ухал ибо у петеров ваще ничего не ставилось без плясок
ыыыыы
Рассказываю как я обошел эту ошибку ничего не правя )))
Была такая ошибка как и у всех, но правка ничего не дала.
Залил по новой. Настроил БД. Ошибка есть. В конфиге отключил кеширование. Зашел на сайт. Побегал по нему, кеш не собирался. Невыходя с сайта, включил кеш в конфиге. Попробовал перейти по вкладкам. Ошибка не выскакивает, кеш собирается.
Попробуйте, может кому и поможет ))
Ну не знаю, не знаю. У меня пока все работает.
Бывает выскакивает какая-то ошибка. Но это не кеш. Пока не исправлял. Как-то на меня она еще не попадал.
Да и вообще заметил, что движок сыроватый, много багов. Зато быстрый )))).
Дабы не плодить много тем — задам вопрос тут. Не ругайте если непрофессионально буду изъясняться.
Итак, перешел на VDS, полностью рабочий сайт (кеширование и сессии работали, по данной статье). На новом серваке кеширование вроде как пашет (запись временных файлов идет в указанную папку), но сессии постоянно слетают и всем приходится многократно логиниться заново. В чем может быть дело? Настройки сервака? Какие-то службы запустить? Я во многих этих вопросах пока что не силен. Подскажите если кто сталкивался с подобным.
И второй вопрос — использую file тип кеширования. А это постоянно разрастающийся файл-треш. Что не есть гуд. Вот забуду как нить про это добро и пиши пропало =) Чем данным тип кеширования лучше/хуже типа memory и как его (memory) запустить, ибо простой сменой параметра ничего не выходит, выдает ошибку, схожую с описанными выше.
Но основной вопрос все таки про слетающие сессии :)
Нет, сижу на file. Запускаю через cron скрипт на еженедельную чистку кеш-мусорки что бы не захламило :) А вообще интересно узнать про преимущества мемкеша. Если плюсы явные светят — буду разбираться и переходить на него
У меня дня кэша достаточно было прописать SYS_CACHE_DIR. Картинки попрежнему не загружаются. Правка Zend на Zend2 актуальна только для кэша или для картинок тоже?
Все сделал по приведенному выше рецепту, кэш включился, но теперь вот такая фигня в шапке вылезает:
Notice: unserialize() [function.unserialize]: Argument is not a string in /var/www/user_0000414841/data/www/expcom.ru/classes/modules/sys_cache/Cache.class.php on line 105
у меня такая проблема появилась
Notice: unserialize() [function.unserialize]: Argument is not a string in /var/www/html/site.ru/classes/modules/sys_cache/Cache.class.php on line 105
кеш работает. когда обновишь страницу несколько раз то все нормально
сделал как trac.assembla.com/livestreet/changeset/354
но Notice: Undefined property: LsCache::$data in /var/www/html/site.ru/classes/modules/sys_cache/Cache.class.php on line 109
Прошу прощения, но зачем такой геморой… вот решение… правда проблемма возникла из за имаджей но думаю это для всех… копипаст моего же коммента из другой ветки:
господа, спешу вас уверить данная проблема решается очень просто, да действительно все дело в кеше, лечиться следующим образом:
1) в корне создаем каталог, например tmp и даем на него права 777
2) идем в файл config.php и ищем следующее
define('SYS_CACHE_DIR',$sTmpDir.'/'); // каталог для файлового кеша, также используется для временных картинок. По умолчанию подставляем каталог для хранения сессий
копируем и перед данной фразой ставим две косые //
3)далее добавляем эту же фразу следом за тем что мы закомментировали и правим ее в таком виде
define('SYS_CACHE_DIR',DIR_SERVER_ROOT.'/tmp/'); // каталог для файлового кеша, также используется для временных картинок. По умолчанию подставляем каталог для хранения сессий
4) поднимаемся чуть выше и находим вот это
define('SYS_CACHE_USE',false); // использовать кеширование или нет
собственно меняем false на true и сохраняем файл… все картинки грузятся хоть через урл хоть из ФС.
Удачного использования лайвстрита.
Версия 4, переехал на другой хостинг, появилась такая же проблема.
ZendFramework отключить нельзя, т.к. он требуется для других моих сайтов.
Помогите, пожалуйста, решить проблему.
55 комментариев
define('SYS_CACHE_DIR',$sTmpDir.'/home/a/apsmru/blogs/public_html/tmp/');
memcache и file cache?
Когда его надо включать, при какой нагрузке?
define('SYS_CACHE_USE',true);
Вот все равно
Fatal error: Uncaught exception 'Zend_Cache_Exception' with message 'Incorrect option name: cache_dir' in /opt/php5/lib/ZendFramework/library/Zend/Cache.php:101 Stack trace: #0 /opt/php5/lib/ZendFramework/library/Zend/Cache/Backend.php(112): Zend_Cache::throwException('Incorrect optio...') #1 /opt/php5/lib/ZendFramework/library/Zend/Cache/Backend.php(75): Zend_Cache_Backend->setOption('cache_dir', '/home/v/vinbenz...') #2 /opt/php5/lib/ZendFramework/library/Zend/Cache/Backend/File.php(105): Zend_Cache_Backend->__construct(Array) #3 /home/v/vinbenzzzi/lacn/public_html/classes/modules/sys_cache/Cache.class.php(71): Zend_Cache_Backend_File->__construct(Array) #4 /home/v/vinbenzzzi/lacn/public_html/classes/engine/Engine.class.php(68): Cache->Init() #5 /home/v/vinbenzzzi/lacn/public_html/classes/engine/Router.class.php(95): Engine->InitModules() #6 /home/v/vinbenzzzi/lacn/public_html/index.php(31): Router->Exec() #7 {main} thrown in /opt/php5/lib/ZendFramework/library/Zend/Cache.php on line 101
Живу не на Пресне, но относительно рядом)
Чтоб одной кнопкой создавался сайт (в смысле настройка поиска, мемкеша) гуй-конфигуратор настроек. Популярность движка растет — можно немного подзаработать, особенно если сервер не особо нагружен.
создать папку для кеша и прописать к ней путь в конфиге.
все работает на ура.
Бандиту спасибо за то, что сделал, но вот чтобы он объяснил что именно сделал я никак не могу
\classes\lib\external\DklabCache\zend
Остался вопрос, а где менять пути к ней?
Сделать изменения в следующих файлах:
1. \classes\modules\sys_cache\Cache.class.php
Заменить:
require_once('Zend/Cache.php');
на:
require_once('Zend2/Cache.php');
Заменить:
require_once('Zend/Cache/Backend/File.php');
на:
require_once('Zend2/Cache/Backend/File.php');
Заменить:
require_once('Zend/Cache/Backend/Memcached.php');
на:
require_once('Zend2/Cache/Backend/Memcached.php');
2. \classes\lib\external\DklabCache\Cache\Backend\Profiler.php
Заменить:
require_once «Zend/Cache/Backend/Interface.php»;
на:
require_once «Zend2/Cache/Backend/Interface.php»;
3. \classes\lib\external\DklabCache\Cache\Backend\TagEmuWrapper.php
Заменить:
require_once «Zend/Cache/Backend/Interface.php»;
на:
require_once «Zend2/Cache/Backend/Interface.php»;
4. \classes\lib\external\DklabCache\Zend2\Cache.php
Заменить все:
require_once 'Zend/Loader.php';
на:
require_once 'Zend2/Loader.php';
Заменить
require_once 'Zend/Cache/Exception.php';
на:
require_once 'Zend2/Cache/Exception.php';
5. \classes\lib\external\DklabCache\Zend2\Cache\Backend.php
Заменить:
require_once 'Zend/Loader.php';
на:
require_once 'Zend2/Loader.php';
6. \classes\lib\external\DklabCache\Zend2\Cache\Exception.php
Заменить:
require_once 'Zend/Exception.php';
на:
require_once 'Zend2/Exception.php';
7. \classes\lib\external\DklabCache\Zend2\Cache\Backend\File.php
Заменить:
require_once 'Zend/Cache/Backend/Interface.php';
на:
require_once 'Zend2/Cache/Backend/Interface.php';
Заменить:
require_once 'Zend/Cache/Backend.php';
на:
require_once 'Zend2/Cache/Backend.php';
8. \classes\lib\external\DklabCache\Zend2\Cache\Backend\Memcached.php
Заменить:
require_once 'Zend/Cache/Backend/Interface.php';
на:
require_once 'Zend2/Cache/Backend/Interface.php';
Заменить:
require_once 'Zend/Cache/Backend.php';
на:
require_once 'Zend2/Cache/Backend.php';
без это что ли работать не будет?
все тот же хост sweb.
Проблема в том, что я не знаю где хранистся мой кеш. В конфиге указал папку tpl, прописал полный путь. А папка tpl пустая. Права на ней 777.
В чем может быть проблема?
Рассказываю как я обошел эту ошибку ничего не правя )))
Была такая ошибка как и у всех, но правка ничего не дала.
Залил по новой. Настроил БД. Ошибка есть. В конфиге отключил кеширование. Зашел на сайт. Побегал по нему, кеш не собирался. Невыходя с сайта, включил кеш в конфиге. Попробовал перейти по вкладкам. Ошибка не выскакивает, кеш собирается.
Попробуйте, может кому и поможет ))
Бывает выскакивает какая-то ошибка. Но это не кеш. Пока не исправлял. Как-то на меня она еще не попадал.
Да и вообще заметил, что движок сыроватый, много багов. Зато быстрый )))).
Итак, перешел на VDS, полностью рабочий сайт (кеширование и сессии работали, по данной статье). На новом серваке кеширование вроде как пашет (запись временных файлов идет в указанную папку), но сессии постоянно слетают и всем приходится многократно логиниться заново. В чем может быть дело? Настройки сервака? Какие-то службы запустить? Я во многих этих вопросах пока что не силен. Подскажите если кто сталкивался с подобным.
И второй вопрос — использую file тип кеширования. А это постоянно разрастающийся файл-треш. Что не есть гуд. Вот забуду как нить про это добро и пиши пропало =) Чем данным тип кеширования лучше/хуже типа memory и как его (memory) запустить, ибо простой сменой параметра ничего не выходит, выдает ошибку, схожую с описанными выше.
Но основной вопрос все таки про слетающие сессии :)
Спасибо.
Народу при том в онлайне ну от силы 5-7 человек(
На что он ругается?
сам нашел решение проблемы
Fatal error: Uncaught exception 'Zend_Cache_Exception' with message 'cache_dir is not writable' in /home/.../public_html/classes/lib/external/DklabCache/Zend2/Cache.php:141 Stack trace: #0 /home/.../public_html/classes/lib/external/DklabCache/Zend2/Cache/Backend/File.php(149): Zend_Cache::throwException('cache_dir is no...') #1 /home/.../public_html/classes/lib/external/DklabCache/Zend2/Cache/Backend/File.php(121): Zend_Cache_Backend_File->setCacheDir('/') #2 /home/.../public_html/classes/modules/sys_cache/Cache.class.php(71): Zend_Cache_Backend_File->__construct(Array) #3 /home/.../classes/engine/Engine.class.php(68): LsCache->Init() #4 /home/.../public_html/classes/engine/Router.class.php(99): Engine->InitModules() #5 /home/.../public_html/index.php(31): Router->Exec() #6 {main} thrown in /home/.../public_html/classes/lib/external/DklabCache/Zend2/Cache.php on line 141
Notice: unserialize() [function.unserialize]: Argument is not a string in /var/www/html/site.ru/classes/modules/sys_cache/Cache.class.php on line 105
кеш работает. когда обновишь страницу несколько раз то все нормально
но Notice: Undefined property: LsCache::$data in /var/www/html/site.ru/classes/modules/sys_cache/Cache.class.php on line 109
господа, спешу вас уверить данная проблема решается очень просто, да действительно все дело в кеше, лечиться следующим образом:
1) в корне создаем каталог, например tmp и даем на него права 777
2) идем в файл config.php и ищем следующее
копируем и перед данной фразой ставим две косые //
3)далее добавляем эту же фразу следом за тем что мы закомментировали и правим ее в таком виде
4) поднимаемся чуть выше и находим вот это
собственно меняем false на true и сохраняем файл… все картинки грузятся хоть через урл хоть из ФС.
Удачного использования лайвстрита.
ZendFramework отключить нельзя, т.к. он требуется для других моих сайтов.
Помогите, пожалуйста, решить проблему.