Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« : 02.06.2008, 12:46:29 » |
|
На многих хостингах ограничено дисковое пространство под сайт, а с увеличением объема контента на сайте папка /cache имеет тенденцию значительно увеличиваться в своем размере. При этом бóльшая часть файлов в кеше уже давно устарела, но она просто не удаляется автоматически. В результате может возникнуть ситуация, когда не удается установить новое расширение или даже внести изменения в БД по причине нехватки свободного дискового пространства. Чтобы избежать такой проблемы, был написан простенький мамбот, который очищает папку /cache от устаревших файлов примерно при каждом 100-м обращении к сайту. На время генерации страницы это никак не влияет, т.к. все действия выполняются после того, как страница отдана пользователю.
Ниже выложены файлы: botClearCache.zip — для версии Joomla!1.0 plgClearCache.zip — для версии Joomla!1.5
09.02.2009 В версии для 1.5 исправлена проблема, связанная с возможным удалением файлов в корне сайта.
|
|
|
|
« Последнее редактирование: 09.02.2009, 13:20:01 от Physicist »
|
Записан
|
|
|
|
| |
faker666
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 22
|
 |
« Ответ #1 : 02.06.2008, 15:54:36 » |
|
спасибо большое, очень полезная вещь.
|
|
|
|
|
Записан
|
|
|
|
Sulpher
Support Team
   
Репутация: +293/-9
Offline
Пол: 
Сообщений: 1677
Миграция сайтов на Joomla 2.5
|
 |
« Ответ #2 : 26.06.2008, 22:09:17 » |
|
Респект автору!!! Давно думал об этом. Клиентам не объяснишь, что время от времени нужно чистить кэш. Теперь об этом можно не заботиться. Здорово!
|
|
|
|
|
Записан
|
|
|
|
ghibon
Осваиваюсь на форуме
 
Репутация: +4/-0
Offline
Пол: 
Сообщений: 76
|
 |
« Ответ #3 : 26.06.2008, 22:52:29 » |
|
а очищает любой кеш? только папку cashe? если в компоненте предусмотренно кеширование, там не очищает?
|
|
|
|
|
Записан
|
|
|
|
|
pedrosoft
|
 |
« Ответ #4 : 28.06.2008, 20:46:18 » |
|
чистить только файлы находящиеся в каталоге cache начинающиеся с названия cache_
|
|
|
|
|
Записан
|
|
|
|
|
Byld0zer
Гость
|
 |
« Ответ #5 : 15.08.2008, 19:33:41 » |
|
я так понял, он подчищает кэш каждые 8 часов? а как отрегулировать это дело?
ПС: спасибо, мамбот очень пригодился. Папка кэш росла как после растишки.
|
|
|
|
|
Записан
|
|
|
|
Sulpher
Support Team
   
Репутация: +293/-9
Offline
Пол: 
Сообщений: 1677
Миграция сайтов на Joomla 2.5
|
 |
« Ответ #6 : 01.09.2008, 21:05:24 » |
|
Было бы очень актуально сделать версию мамбота для Joomla! 1.5.x
|
|
|
|
|
Записан
|
|
|
|
Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« Ответ #7 : 02.09.2008, 10:16:19 » |
|
Выложил аналогичный плагин для Joomla!1.5 (см. первый пост). Но он удаляет ВЕСЬ кэш через время указанное в глобальных настройках сайта (по-умолчанию это 15 минут), в том числе и кэш модулей (независимо от того, какое время жизни указано в настройках модуля).
Если для кого-то существенно различие во времени жизни обычного кэша и кэша модулей — пишите, что-нибудь придумаем.
|
|
|
|
|
Записан
|
|
|
|
Strange@R
Новичок
Репутация: +0/-2
Offline
Сообщений: 3
|
 |
« Ответ #8 : 26.09.2008, 14:15:50 » |
|
Респект! а в самой джомле вроде выставляется время жизни кэшей даже индивидуально для модулей (900 секунд) - оно значить работает по какому-то иному принципу?
|
|
|
|
|
Записан
|
|
|
|
|
userxp
|
 |
« Ответ #9 : 26.09.2008, 15:03:33 » |
|
надо чистить не только папку cache, но и вложенные папки
|
|
|
|
|
Записан
|
|
|
|
Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« Ответ #10 : 26.09.2008, 15:05:31 » |
|
Респект! а в самой джомле вроде выставляется время жизни кэшей даже индивидуально для модулей (900 секунд) - оно значить работает по какому-то иному принципу?
В Joomla выставляется в течение какого времени файл с кэшем будет использоваться. Проблема в том, что по истечении указанного времени файл просто перестает использоваться, а не удаляется. Далее этот файл может быть либо перезаписан новой версией (если за это время на сайте особых изменений не произошло), либо навеки так и останется лежать на сервере никому не нужным. надо чистить не только папку cache, но и вложенные папки
В версии для J!1.5 именно так и работает, а в J!1.0 достаточно чистить только /cache.
|
|
|
|
|
Записан
|
|
|
|
|
userxp
|
 |
« Ответ #11 : 26.09.2008, 15:33:01 » |
|
В версии для J!1.5 именно так и работает, а в J!1.0 достаточно чистить только /cache.
ну я ж не НЕ ПРОСТО ТАК написал. повторяю: НАДО  зы. лично я прикручиваю кэш индивидуально по папкам
|
|
|
|
|
Записан
|
|
|
|
Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« Ответ #12 : 26.09.2008, 15:41:43 » |
|
повторяю: НАДО  зы. лично я прикручиваю кэш индивидуально по папкам Сделать-то всё можно. Ты просто объясни, что ты и куда «прикручиваешь», а то мало ли — что-нибудь не то «откручу».
|
|
|
|
|
Записан
|
|
|
|
|
userxp
|
 |
« Ответ #13 : 26.09.2008, 22:59:59 » |
|
лехко. require_once( $mosConfig_absolute_path . '/includes/joomla.cache.php' ); $caching = (bool) $caching; $options = array(
'cacheDir' => $mosConfig_cachepath . '/com_news/', <======= DIRECTORY
'caching' => $caching,
'defaultGroup' => 'com_news',
'lifeTime' => $time ); $cache = new JCache_Lite_Function( $options );
|
|
|
|
|
Записан
|
|
|
|
Sulpher
Support Team
   
Репутация: +293/-9
Offline
Пол: 
Сообщений: 1677
Миграция сайтов на Joomla 2.5
|
 |
« Ответ #14 : 27.09.2008, 17:06:24 » |
|
Кстати, было бы неплохо заодно чистить папку components/libraries/cmslib/cache (J1.0.x)
Сейчас удаляю старый полигон - в этой папке сотни временных файлов.
|
|
|
|
|
Записан
|
|
|
|
Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« Ответ #15 : 29.09.2008, 17:43:14 » |
|
userxp, проблема в том, что при ручном создании объектов JCache_Lite_Function можно варьировать не только путь (который вовсе не обязан быть в /cache/), но и время жизни кэша. Откуда мой плагин может знать, какое время жизни выставлено для в каком-то смысле «стороннего» кэша и когда его нужно удалять? По-хорошему, это должно лежать на совести того, кто использует такие «извращения».
Sulpher, это тоже должно быть на совести azrul.com, хотя добавить такой функционал в плагин — не проблема.
PS. Вообще было бы неплохо, если бы у файлов кэша время создания выставлялось равным времени удаления — тогда у каждого файла могло бы быть свое время жизни, а удалять приходилось бы только те файлы, даты создания которых лежат в прошлом.
|
|
|
|
|
Записан
|
|
|
|
Sulpher
Support Team
   
Репутация: +293/-9
Offline
Пол: 
Сообщений: 1677
Миграция сайтов на Joomla 2.5
|
 |
« Ответ #16 : 12.10.2008, 12:04:24 » |
|
В моём случае папка всё равно пухнет и кол-во файлов переваливает за тысячи. Может причина в правах файлов? Например, сервер генерирует файлы, а у мамбота нет прав на удаление...
|
|
|
|
|
Записан
|
|
|
|
Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« Ответ #17 : 12.10.2008, 23:44:58 » |
|
Вряд ли причина в правах на файлы. Напиши мне в личку/аську — попробуем разобраться.
|
|
|
|
|
Записан
|
|
|
|
Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« Ответ #18 : 01.11.2008, 20:58:16 » |
|
В связи с тем, что в последних версиях 1.5.x файлы кэша имеют расширение .php, а не .cache, пришлось внести соответствующие изменения в plgClearCache.zip. Обновленная версия — во вложении к первому посту.
|
|
|
|
|
Записан
|
|
|
|
7Rei
Давно я тут
  
Репутация: +20/-0
Offline
Пол: 
Сообщений: 358
|
 |
« Ответ #19 : 08.11.2008, 13:59:41 » |
|
Добрый день. После установки данного плагина, два раза бесследно, исчезали php файлы корня (index, configuration, license...)! После его отключения, все стало нормально. Пришлось отказаться от использования этого замечательного плагина 
|
|
|
|
|
Записан
|
|
|
|
Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« Ответ #20 : 08.11.2008, 15:03:49 » |
|
7Rei, о какой версии joomla идет речь?
|
|
|
|
|
Записан
|
|
|
|
7Rei
Давно я тут
  
Репутация: +20/-0
Offline
Пол: 
Сообщений: 358
|
 |
« Ответ #21 : 08.11.2008, 15:31:30 » |
|
7Rei, о какой версии joomla идет речь?
joomla 1.5.7, php5.2.6, включен кешь в глобальных настройках + плагин кеша
|
|
|
|
|
Записан
|
|
|
|
Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« Ответ #22 : 08.11.2008, 15:50:23 » |
|
Вообще-то странно, должны файлы удаляться только из /cache/. Я тут ниже прикрепляю плагин, который очищает кэш через встроенный в J!1.5.7 механизм (но может не работать на предыдущих версиях J!1.5). Кстати, ircmaxel обещает, что такой механизм очистки будет встроен в J!1.6.
|
|
|
|
|
Записан
|
|
|
|
Magic12
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 14
|
 |
« Ответ #23 : 11.11.2008, 14:01:44 » |
|
Спасибо огромное. Очень нужный мамбот!
|
|
|
|
« Последнее редактирование: 11.11.2008, 14:05:25 от Magic12 »
|
Записан
|
|
|
|
Sulpher
Support Team
   
Репутация: +293/-9
Offline
Пол: 
Сообщений: 1677
Миграция сайтов на Joomla 2.5
|
 |
« Ответ #24 : 21.11.2008, 22:01:50 » |
|
Денис, плагин, прикрепленный несколькими постамы выше, предпочтительнее использовать на J1.5.8 вместо топик стартового plgClearCache.zip? Небольшая информация к сведению. При настройке сайта, включил нотисы: Error: headers already sent in clearcache.php on line 9. Stopped at line 906 in joomsef.php: HEADERS ALREADY SENT (200) URL=http://mysite.ru/index.php?option=com_virtuemart&Itemid=2: OPTION=com_virtuemart: SEO Joomla 1.0.15 ВМРЕ 1.0.15
|
|
|
|
« Последнее редактирование: 21.11.2008, 23:38:36 от Sulpher »
|
Записан
|
|
|
|
Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« Ответ #25 : 21.11.2008, 23:35:29 » |
|
Оказывается, в первом посту прикреплен старый архив (там нужно имя функции в кавычки взять). Мне казалось, что я его заменял (причем, судя по дате локальной версии архива, это было 2 сентября). Сейчас перезалью еще раз.
|
|
|
|
|
Записан
|
|
|
|
Sulpher
Support Team
   
Репутация: +293/-9
Offline
Пол: 
Сообщений: 1677
Миграция сайтов на Joomla 2.5
|
 |
« Ответ #26 : 21.11.2008, 23:39:27 » |
|
Оказывается, в первом посту прикреплен старый архив (там нужно имя функции в кавычки взять). Мне казалось, что я его заменял (причем, судя по дате локальной версии архива, это было 2 сентября). Сейчас перезалью еще раз. Думаю, имеет смысл пояснить, что речь идёт о плагине для Joomla 1.0. Всем обновляться. 
|
|
|
|
|
Записан
|
|
|
|
Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« Ответ #27 : 09.02.2009, 13:20:58 » |
|
В версии для 1.5 исправлена проблема, связанная с возможным удалением файлов в корне сайта.
|
|
|
|
|
Записан
|
|
|
|
nordauto29
Осваиваюсь на форуме
 
Репутация: +2/-0
Offline
Пол: 
Сообщений: 30
|
 |
« Ответ #28 : 02.03.2009, 12:55:20 » |
|
спасибо. будем тестить.
|
|
|
|
|
Записан
|
|
|
|
friend111
Осваиваюсь на форуме
 
Репутация: +3/-0
Offline
Сообщений: 82
|
 |
« Ответ #29 : 02.03.2009, 23:47:43 » |
|
Если я правильно понял настройку мамбота для версии Joomla!1.0 можно изменить здесь if(mt_rand(1,100)==1) , допустим вместо 100 поставить 1000 и кеш будет удаляться через 1000 обращений к сайту, правильно или нет? 
|
|
|
|
|
Записан
|
|
|
|
|