8. Обновление и откат

Что нужно знать сразу

  • Установка и обновление выполняются только через Webasyst Store и «Установщик» в административной панели магазина. Версия 3.4.3 приходит в «Установщик», когда её опубликуют в Store; в Store на сегодня лежит 3.1.7. Если у вас версия из Store старее, нажмите «Обновить» в «Установщике», когда обновление появится. Руководство не описывает ручную установку.
  • Обязательное: PHP 8.2+, резервная копия, установка 3.4.3, открыть настройки плагина, при режиме «Через сервер» заменить правила, запустить «Проверку кеша». Необязательное (но желательное): cron, опция «Адаптивные изображения PRO» (если плагин установлен), Metadata v2.
  • Описанная здесь версия 3.4.3; до её публикации в Store в «Установщике» вы можете видеть только 3.1.7.
  • PHP 8.2 или новее обязателен (проверялись 8.2–8.5). Версии 3.2.0 и новее не работают на PHP 7.4–8.1: плагин ничего не включит и напишет причину в wa-log/supercache.log. Сначала поднимите PHP.
  • Настройки при обновлении сохраняются.
  • Однократная очистка кеша: при обновлении плагин один раз очищает старый кеш (в 3.1.7 в кеш могли попасть страницы заказов и кабинета). Страницы пересоберутся по мере посещений, поэтому сразу после обновления возможен краткий рост нагрузки на PHP.
  • ⚠️ Не проверялось: приложение «Установщик» Webasyst и канал Store (обновление проверялось через тот же программный механизм установщика на изолированных стендах); поведение Установщика на PHP ниже 8.2; реальные лицензии Premium; реальный боевой магазин, nginx на боевом сервере, Windows-хостинг. Поэтому по возможности сначала обновите копию магазина.

Чек-лист обновления (с 3.1.7 или с любой более старой версии)

До обновления

  1. PHP 8.2+ (проверьте у хостинга).
  2. Резервная копия сайта и базы данных. Установщик сохраняет прежнюю папку плагина в wa-data/protected/wa-installer/backup/…, но копию базы и сайта он не делает.
  3. Запомните свой режим: «Через роутинг» или «Через сервер».
  4. Магазин с заметным трафиком: на время обновления включите страницу «технические работы» средствами веб-сервера или временно отключите блок SuperCache в .htaccess/try_files. 🔧 Причина: после замены файлов веб-сервер в режиме «Через сервер» ещё может отдавать старый кеш без PHP, а очистка запускается при первом запросе, выполняемом PHP.

Обновление

  1. Нажмите «Обновить» в приложении «Установщик» (⚠️ канал Store и «Установщик» не проверялись: обновление проверялось через тот же программный механизм на изолированных стендах).
  2. Откройте любую страницу магазина или страницу настроек плагина: это запускает однократную очистку старого кеша. Если после обновления в wa-log/supercache.log видно, что очистка не завершена (см. раздел «Если что-то пошло не так»), администратор может выполнить из корня Webasyst php wa-apps/shop/plugins/supercache/purge-upgrade.php: успех — строка «the file cache was cleared» и код выхода 0. 🔧

После обновления

Свёрнутый блок «После обновления плагина (с 3.1.7 или более старой версии)» на странице настроек: щёлкните по его заголовку, чтобы раскрыть (снимок 3.4.3 после обновления 3.4.2 → 3.4.3 движком установщика на стенде):

Блок «После обновления плагина»

  1. Откройте настройки плагина и прочитайте блок состояния вверху: он назовёт один следующий шаг.
  2. Режим «Через сервер»: замените правила. Это обязательно для 3.4.3: см. главу 4. Режим «Через роутинг» правил не требует.
  3. Запустите «Проверку кеша». Ожидается «MISS, затем HIT». «Прямой серверный HIT подтверждён» появляется только после такого HIT в режиме «Через сервер».
  4. Добавьте cron для обслуживания (глава 6): SupercachePluginStorage (раз в 10 минут), для Metadata v2 SupercachePluginSweep (раз в 5 минут). Если раньше стоял SupercachePluginCacheDel «для лимита», замените его.
  5. «Адаптивные изображения PRO». Если плагин установлен, опция в SuperCache выключена и сама не включается. Чтобы включить защиту: отметьте опцию, сохраните, переустановите правила сервера и один раз очистите кеш.
  6. Metadata v2 (по умолчанию выключен): если вы его уже включали, при профиле «Прежний» откройте «Проверку конфигурации»: выберите «Строгий», установите правила и выполните php cli.php shop SupercachePluginEngine probes, либо выключите движок php cli.php shop SupercachePluginEngine disable. Автоматически ничего не выключается. 🔧
  7. Если вы пропускали версии: при обновлении с 3.1.7 вы также получаете новые таблицы и настройки версий 3.2–3.4 (создаются автоматически); читайте и пункты выше.

Что изменилось с 3.1.7 для владельца магазина (кратко)

Версия Что нового для вас
3.2.0 Движок Metadata v2 (выключен по умолчанию); политика роботов по категориям; требуется PHP 8.2
3.3.0 «Проверка кеша», «Проверка конфигурации», «Обход кеша для администратора»
3.3.0–3.3.2 «Состояние SuperCache», резерв места на диске, измерение кеша cron-заданием, ограничение размера кеша (Premium), действие «Постепенно удалять самые старые страницы» (с 3.3.2, Metadata v2)
3.4.0 Экспериментальное внешнее хранилище S3 (выключено), защита для «Адаптивные изображения PRO», однократная очистка кеша при обновлении
3.4.1 «Очистить одну страницу»; отзыв очищает только страницу товара; быстрая очистка в Metadata v2
3.4.2 Блок состояния, «Как включить кеш», «Обслуживание (cron)»; исправлена главная страница, не сохранявшаяся при пустом кеше; очистка при смене картинок Images PRO
3.4.3 Исправления правил сервера (gzip в nginx, Vary, предупреждения is_bot), cookie supercache=no_cache учитывается и в режиме «Через роутинг»

Если что-то пошло не так

  • Блок состояния показывает «Требуется настройка» или «Состояние неизвестно»: выполните его единственный следующий шаг; при «неизвестно» обновите страницу и посмотрите wa-log/supercache.log.
  • В wa-log/supercache.log строка «the public page cache was NOT cleared completely»: очистка повторяется при первом показе витрины и при открытии настроек; либо администратор выполнит php wa-apps/shop/plugins/supercache/purge-upgrade.php. То, что не удалось удалить за время обновления, ждёт вне публичной папки (не отдаётся) и удаляется командой php wa-apps/shop/plugins/supercache/purge-trash.php. 🔧
  • Журнал Установщика: wa-log/wa-installer/installer.log. Если обновление не удалось, установленный плагин остаётся прежним.
  • Быстрый безопасный откат режима «Через сервер»: глава 4.

Откат на прежнюю версию

  • Откат средствами Установщика возвращает прежнюю папку плагина. После отката очистите кеш.
  • Долго оставаться на 3.1.7 нельзя: она снова кеширует страницы заказа и кабинета. Если откат необходим (например, PHP остался 8.1), делайте его на короткое время и отключите кеш либо поднимите PHP.
  • Перед возвратом на версию до 3.3.2 смените действие лимита размера, если выбрано «Постепенно удалять самые старые страницы»: прежние версии его не знают и кеш не ограничивают.
  • После возврата и повторного обновления один раз нажмите «Очистить кеш»: однократная очистка выполняется один раз для номера версии.
  • Откат с 3.4.3 на 3.4.2 в проверке релиза прошёл без проблем: настройки сохранились, страница открывалась, «Проверка кеша» давала MISS, затем HIT (стенд, Apache и nginx).
Просмотр изображения
Оригинал