Воскресенье, 14 мая 2017 22:54

Joomla cache. Problems and solutions

Оцените материал
(0 голосов)

Коснемся в этой статье ряда проблем кэширования Joomla 3; вернее сказать - проблем, которые способны иметь место в результате некорректных настроек этого механизма, такая формулировка более правильна.

Оставим в стороне проблему кэша, появившуюся в новенькой Joomla 3.7: описаний и обсуждений в Сети немало, и почти сразу же разработчики выложили на гитхабе соответствующий патч, сама же трабла - весьма, разумеется, неприятная - будет пофиксена в ближайшем корректирующем релизе.

 

Joomla: cache problem
Joomla: cache problem

 

Нет, рассмотрим сейчас с вами ситуацию, в силу которой ваш сайт внезапно открывается в браузере вот таким вот странным образом, как показано на скриншоте. Неприятно? - не то слово. Проблема усугубляется еще и тем, что способна проявлять себя time to time, время от времени; мне известны случаи, когда после нескольких суток корректной работы сайт без всяких видимых причин вдруг выпадал в эту ошибку. Что ж за напасть такая? - ответ, на первый взгляд, несложен: проблема идет от кэша, и если вы отключите все механизмы кэширования, по-дефолту имеющие место быть в Joomla (или хотя бы отключите кэш в Общих настройках, оставив включенным системный плагин кэша) - проблема исчезнет. Да, но это ведь не выход. Что ж за напасть такая на нашу голову?

 

Dev banner 2

 

Скажу сразу: коллизию привносит плагин System - Regular Labs - Sourcerer. Или, лучше сказать, не сам плагин, а - неумелые ручки администратора сайта, не озаботившегося включить этот плагин в необходимом для него порядке: как не единожды отмечал и Peter van Westen, разработчик Sourcerer - данный системный плагин необходимо поместить почти в самый конец списка плагинов, порядок которых выстроен по самой первой колонке (жмем на значок в самом верху - "Нажмите для сортировки по этой колонке" - "Пожалуйста, выберите сортировку по полю "Порядок" для изменения порядка" - и мышкой тащим плагин куда необходимо). Почему "почти в самый конец"? - а очень просто; самым последним в череде плагинов оптимально поставить плагин кэша. Я использую JotCache, но, вероятно, сказанное относится и к системному кэширующему плагину Joomla (Система - Кэш): попробуйте. В списке плагинов, отсортированному по первой колонке, плагин кэша всегда должен быть у вас самым последним, а непосредственно перед ним поместите Sourcerer, это решает все проблемы такого рода. В дополнение скажу, что к вариантам описанной коллизии также способна привести попытка исключить из кэширования JotCache "по позиции модуля" HTML-модули Joomla, контент которых сформирован при посредстве Sourcerer (содержат тот или иной html или php, для вставки которого вы воспользовались Sourcerer), эту возможность, в числе прочих, предоставляет компонент JotCache. Плагин же JotMarker, являющийся составной частью JotCache, возможно, опционально поставить первым в числе системных плагинов; впрочем, не отмечал в этом контексте возникновения тех или иных проблем.

Если описанные манипуляции не помогли добиться нужного результата - идем дальше.  Peter van Westen, сколько понимаю, не оказывает поддержки по своим продуктам бесплатно; пробовал спросить его и в твиттере (а в твиттере очень несложно, вообще-то, поговорить и с Филом Тайлором, и даже с самим Майклом Бабкером), и на его собственном форуме поддержки regularlabs.com, и даже на форуме Joomla.org, ответы примерно одни и те же: You can only post on the forum if you have an active subscription. Either purchase a Pro subscription or get a one month Support subscription for € 5. Что же, имеет право. Полистал его форум - подобные вопросы уже задавались, но адекватных путей решения автор, по всей видимости, не знает; видел отсылку на Caching - Joomla! Documentation, совершенно не в контексте спрошенного, на мой взгляд. Впрочем, все, как всегда, субъективно.

Но Vladimir Kanich, автор JotCache, подтвердил мою догадку относительно того, что Sourcerer вполне способен привносить проблемы в процесс кэширования, также согласился с тем, что отключение кэширования в Общих настройках - вполне адекватный компромисс в контексте решения данной проблемы:

Vladimir Kanich:
Yes, you can use JotCache page caching also in case when Global Config->Cache->Off. In such case first page rendering takes longer time but all next page requests are responded fast from the cache. Regular Sourcerer can be source for described problem. This extension was recognized as stopper for JotCache caching on several sites in the past.

Т.е., вот таким вот образом.

 

Последнее изменениеСуббота, 17 июня 2017 13:02

1 Комментарий

Оставить комментарий

Добавьте ваш комментарий

How to create a Joomla Contact Form