3. Установка и обновление

Установка

  1. Проверьте PHP. Нужен PHP 8.2–8.5 (Требования).
  2. Сделайте резервную копию сайта: базу данных и папки wa-apps/shop/plugins и wa-data. Это стандартная мера безопасности перед любой установкой.
  3. Установите плагин штатным способом Webasyst: раздел «Установщик» (Магазин приложений) → найдите плагин Images PRO → «Установить». Для редакции «Премиум» нужна купленная лицензия.
  4. В Shop-Script откройте раздел плагинов (в меню магазина — «Плагины») и найдите плагин Изображения PRO.
  5. Если после установки страницы сайта или настройки плагина отвечают ошибкой 500 «Class not found», сбросьте кеш Webasyst (в настройках — «Очистить кеш», или удалите содержимое папки wa-cache).
  6. Откройте страницу настроек плагина. Для неё нужно право на настройки Shop-Script (см. Безопасность).
  7. Переходите к быстрому старту.

После новой установки по умолчанию выбран режим Smart Hybrid. Без cron он работает как «При просмотре», ничего само не запускается.

Обновление с 3.3.0

Обновление идёт напрямую с 3.3.0. Промежуточные версии покупателям не выдавались.

Если вы использовали S3 или GigaChat

В версии 3.3.0 публичный адрес плагина отдавал любому желающему ключи S3 и токен GigaChat. Установка 4.0 это исправляет, но не делает прежние ключи безопасными: их нужно заменить. Порядок:

  1. Обновитесь до 4.0 и выполните шаги ниже.
  2. Выпустите новые ключи S3 и новый токен GigaChat у провайдера и внесите их в настройки плагина.
  3. Проверьте, что всё работает.
  4. Отзовите старые ключи у провайдера.

Подробнее — Безопасность.

Порядок обновления

  1. Резервная копия — обязательно, это ваш главный путь отката:
    • дамп базы данных;
    • папка wa-apps/shop/plugins/responsiveimages;
    • папка wa-data/public/shop/responsiveimages (созданные картинки и журналы; она может быть большой — если места нет, достаточно дампа базы, но тогда после отката картинки создадутся заново). Убедитесь, что копию можно развернуть.
  2. Проверьте PHP: должен быть 8.2–8.5 и у сайта, и у php в командной строке.
  3. Запишите (или сделайте снимки экрана): сколько у вас витрин, используете ли S3 и GigaChat, какие функции включены.
  4. Выберите время с малой нагрузкой.
  5. Не удаляйте плагин «для чистой установки»: удаление стирает таблицы плагина и всю папку wa-data/public/shop/responsiveimages.
  6. Обновите плагин штатно через Установщик Webasyst.
  7. Сразу сбросьте кеш Webasyst (иначе возможна ошибка 500 «Class not found»).
  8. Откройте любую страницу витрины: страницы должны открываться (первый просмотр может быть чуть медленнее).
  9. Откройте настройки плагина и нажмите «Сохранить» — так обновится скрипт витрины и допишутся новые настройки. Проверьте:
    • «Режим обработки» у каждой витрины — On-demand (при просмотре): после обновления ничего не включается само, как в 3.3.0;
    • нет красных предупреждений на странице настроек.
  10. Если в Webasyst какой-либо поддомен вашей витрины не добавлен как домен или зеркало, добавьте его в маршрутизацию (роутинг): к адресам плагина допускаются только домены и зеркала из маршрутизации.
  11. Откройте вкладку «Диагностика»: должны быть видны режимы витрин и очередь, без ошибок.
  12. Если у вас cron и вы хотите фоновую обработку — раздел 5.

Большая очередь

Если в очереди плагина больше 5000 задач, часть изменений таблицы очереди выполняется не сразу, а при сохранении настроек, при запуске фоновой команды или по команде repair-schema. Пока это не сделано, на странице настроек видно красное уведомление «Обновление таблицы очереди версии 3.4 отложено (большая очередь)…». Нажмите «Сохранить» — уведомление должно исчезнуть. Либо в консоли (от пользователя веб-сервера):

php /путь/к/сайту/cli.php shop responsiveimagesPluginBackground repair-schema

Ответ queue table: claim columns present означает, что всё в порядке. При ошибке смотрите журнал wa-log/responsiveimages-update.log.

Что изменилось после обновления

  • Режим обработки остаётся «При просмотре» (как в 3.3.0). Фон и cron не включаются.
  • Создание картинок при просмотре теперь ограничено «бюджетом» (по времени, числу и размеру картинок) — раньше ограничения не было. Что не уместилось, дорабатывается позже, а посетитель видит оригинал.
  • Новые файлы получают версию в имени. Файлы, созданные раньше, остаются со старыми именами и продолжают работать.
  • Копии Retina (@2x) теперь строятся из оригинала. Чтобы уже созданные пересоздать, удалите созданные плагином изображения кнопкой «Удалить все созданные изображения» (картинки создадутся заново).
  • В журналах и ответах плагина больше нет ключей, путей сервера и трассировок.

Откат на 3.3.0

Откат возвращает уязвимость 3.3.0 (публичный адрес отдаёт ключи S3 и токен GigaChat). Если откат неизбежен, сначала уберите из настроек ключ S3 и токен GigaChat (кнопки «Очистить ключ» и «Сохранить») или отключите функции, которые их используют. После работы на 3.3.0 считайте эти ключи раскрытыми и замените их.

Вариант А — восстановление резервной копии (надёжный)

Восстановите базу данных и папки wa-apps/shop/plugins/responsiveimages и wa-data/public/shop/responsiveimages из копии, сделанной перед обновлением. Сбросьте кеш Webasyst (wa-cache). Всё, что произошло в базе после обновления (новые заказы, правки настроек), при этом пропадёт, поэтому на живом магазине этот вариант подходит только вскоре после обновления.

Вариант Б — вернуть код 3.3.0, не трогая базу

Этот путь по коду описан, но на практике не проверялся.

  1. Остановите фон: удалите строку плагина из cron (или выполните команду pause), дождитесь, пока закончатся запущенные процессы.
  2. Замените папку wa-apps/shop/plugins/responsiveimages кодом 3.3.0. Не используйте «Удалить плагин».
  3. Сбросьте кеш Webasyst.
  4. Откройте настройки плагина 3.3.0 и нажмите «Сохранить» — скрипт витрины, собранный версией 4.0, с сервером 3.3.0 не работает, сохранение настроек его пересобирает. Очистите кеш страниц и CDN.
  5. Проверьте витрину.

Что остаётся на сервере после отката (код 3.3.0 этого не использует и не удаляет, оригиналам товаров это не вредит):

Что Что делать
Таблицы shop_responsiveimages_retired, shop_responsiveimages_demand, shop_responsiveimages_demand_pass Можно оставить. При повторном обновлении до 4.0 они используются снова
Файлы с версией в имени (...-v3fa9c21b.jpg) Остаются, ссылки на них в закешированных страницах работают. Кнопка «Удалить все созданные изображения» в 3.3.0 версионные ключи в S3 не удаляет
Столбцы очереди и новые настройки режимов 3.3.0 их не использует

Повторное обновление после отката: повторите порядок обновления выше.

Обновление между версиями 4.x

Обновляйте штатно, затем сбрасывайте кеш Webasyst и нажимайте «Сохранить» в настройках плагина.

Как полностью удалить плагин

См. Решение проблем — как полностью удалить плагин.

Просмотр изображения
Оригинал