Хостинг. Cache Memcached в PrestaShop кеширует админку

WEBUS.in.ua
1 месяц
0

Cache Memcached (БИЗНЕС-хостинг 2G) в PrestaShop кеширует админку, подставляет старые значения в поля, ставит назад убранные галочки, мешает работать с товаром.
Сбрасывать его в ручную через хостинг неудобно.

Вопрос:
Как настроить исключения для Memcached, Memcache?
Как закрыть админку от кеширования (если что, ссылка на админку у PrestaShop разная и зависит от утановщика)?
Если есть статья, дайте ссылку плиз.

Спасибо.

KarlovA
1 месяц
0

Судя по информации на ресурсах по PrestaShop, проблема связана с архитектурой системы кеширования самой CMS. В качестве самого простого решения рекомендуют отключать кеширование на время внесения изменений на сайте или чистить его через админку. Здесь — prestacraft.com/backoffice-values-are-not-saved-solution/ — описано, какие строки нужно добавить в конфиг для отключения кеширования, если после его отключения в админке продолжают отображаться неактуальные данные.

WEBUS.in.ua
1 месяц
0

KarlovA, проблема описанная в статье решает только вопрос отключение только одной галочки (включить/выключить кеш) в админ панели, но не решает той проблемы, что я описал.

Возможные решения проблемы такие:
- если CMS сайта Prestashop то все страницы начинающийся c /admin*/ должны быть исключены из кеширования
- идеально решение дать пользователям самим решать какие страницы добавить в исключение по маске (поле с ссылками с новой строки и окончания с *-ками)
- PrestaShop работает на Symfony, еслиесть решение для Symfony оно может подойти и к этой проблеме.
- если нет, то может реально прописать в ваш конфиг на весь хостинг, что все что с /admin*/ не кэшируется, я думаю для других CMS это вреда не принесет, скорее пользу.

такое реально сделать?

Со своей стороны буду страться уговорить клиента на обновлене до последней версии (хоть и сейчас тоже свежая), может решили проблему.

zinenko_s
1 месяц
1

Сам по себе Memcache ничего не кеширует и выступает только в роли хранилища данных, которые в него помещаются. Всё кеширование производится непосредственно скриптами CMS, в связи с чем повлиять на него со стороны хостинга, как таковой, нет возможности.
Судя по всему — единственным адекватным способом отключения кеширования данных админ панели выступает только вмешательство в скрипты самой CMS и удаление функционала кеширования админ панели, если вообще это возможно сделать без последствий для остальной части сайта.

Можете чуть детальнее описать как воспроизвести проблему с сохранением данных в админ панели, к примеру, на какой именно странице или в какой форме значения возвращались к предыдущим? Пока не наблюдаю проблемы на prestashop 1.7.8.0 с настроенным кешированием memcached.

WEBUS.in.ua
1 месяц
0

zinenko_s, спасибо за разъяснение.

"Можете чуть детальнее описать как воспроизвести проблему с сохранением данных в админ панели, к примеру, на какой именно странице или в какой форме значения возвращались к предыдущим? Пока не наблюдаю проблемы на prestashop 1.7.8.0 с настроенным кешированием memcached."

В данный момент клиент жалуется на проблемы установки и снятия галочек в товаре (а именно в продаже /недоступен /под заказ ) которые находятся в последней раскладке:

их сейчас невозможно настроить без сброса кеша в админ панели хостинга, так как они снимаются и появляются сами по себе (кеш предыдущих версий страницы).

Также возникают проблемы с установкой количества товара на складе (это поле на первой - главной странице товара)

WEBUS.in.ua
1 месяц
0

Версія PrestaShop: 1.7.7.1
PHP версія: 7.3.31
Доступний об'єм пам'яті: 1024M

zinenko_s
1 месяц
0

Возможно в версии 1.7.8.0 эта проблема уже устранена, так как воспроизвести, на данный момент, не получается, либо же необходимо выполнить определенные условия, чтобы добиться такого поведения. Если это допустимо, то создайте резервную копию сайта и базы данных Создание резервной копии | Вопросы-ответы на Wiki - Хостинг Украина , а затем попробуйте обновить CMS до актуальной версии 1.7.8.0, после чего проверьте наличие проблемы.

Также можно просмотреть какие данные и когда именно сохраняет PrestaShop в memcache. Например, это можно сделать с помощью PHPMemcacheAdmin, установить и настроить который можно по инструкции PHPMemcacheAdmin | Вопросы-ответы на Wiki - Хостинг Украина , но в нем не совсем удобно просматривать установленные значения для ключей, или github.com/mailopl/memcached-gui , скачайте файл и в 4 строке укажите

$memcache->addServer('unix:///home/' . explode("/",__DIR__)[2] . '/.system/memcache/socket',0,1);

Попробуйте изменять значения и проверять наличие изменений непосредственно в памяти, выполняя поиск по ID товара, возможно это хоть как то поможет в анализе проблемы.