3. Установка и обновление
Установка
- Проверьте PHP. Нужен PHP 8.2–8.5 (Требования).
- Сделайте резервную копию сайта: базу данных и папки
wa-apps/shop/pluginsиwa-data. Это стандартная мера безопасности перед любой установкой. - Установите плагин штатным способом Webasyst: раздел «Установщик» (Магазин приложений) → найдите плагин Images PRO → «Установить». Для редакции «Премиум» нужна купленная лицензия.
- В Shop-Script откройте раздел плагинов (в меню магазина — «Плагины») и найдите плагин Изображения PRO.
- Если после установки страницы сайта или настройки плагина отвечают ошибкой 500 «Class not found», сбросьте кеш Webasyst (в настройках — «Очистить кеш», или удалите содержимое папки
wa-cache). - Откройте страницу настроек плагина. Для неё нужно право на настройки Shop-Script (см. Безопасность).
- Переходите к быстрому старту.
После новой установки по умолчанию выбран режим Smart Hybrid. Без cron он работает как «При просмотре», ничего само не запускается.
Обновление с 3.3.0
Обновление идёт напрямую с 3.3.0. Промежуточные версии покупателям не выдавались.
Если вы использовали S3 или GigaChat
В версии 3.3.0 публичный адрес плагина отдавал любому желающему ключи S3 и токен GigaChat. Установка 4.0 это исправляет, но не делает прежние ключи безопасными: их нужно заменить. Порядок:
- Обновитесь до 4.0 и выполните шаги ниже.
- Выпустите новые ключи S3 и новый токен GigaChat у провайдера и внесите их в настройки плагина.
- Проверьте, что всё работает.
- Отзовите старые ключи у провайдера.
Подробнее — Безопасность.
Порядок обновления
- Резервная копия — обязательно, это ваш главный путь отката:
- дамп базы данных;
- папка
wa-apps/shop/plugins/responsiveimages; - папка
wa-data/public/shop/responsiveimages(созданные картинки и журналы; она может быть большой — если места нет, достаточно дампа базы, но тогда после отката картинки создадутся заново). Убедитесь, что копию можно развернуть.
- Проверьте PHP: должен быть 8.2–8.5 и у сайта, и у
phpв командной строке. - Запишите (или сделайте снимки экрана): сколько у вас витрин, используете ли S3 и GigaChat, какие функции включены.
- Выберите время с малой нагрузкой.
- Не удаляйте плагин «для чистой установки»: удаление стирает таблицы плагина и всю папку
wa-data/public/shop/responsiveimages. - Обновите плагин штатно через Установщик Webasyst.
- Сразу сбросьте кеш Webasyst (иначе возможна ошибка 500 «Class not found»).
- Откройте любую страницу витрины: страницы должны открываться (первый просмотр может быть чуть медленнее).
- Откройте настройки плагина и нажмите «Сохранить» — так обновится скрипт витрины и допишутся новые настройки. Проверьте:
- «Режим обработки» у каждой витрины — On-demand (при просмотре): после обновления ничего не включается само, как в 3.3.0;
- нет красных предупреждений на странице настроек.
- Если в Webasyst какой-либо поддомен вашей витрины не добавлен как домен или зеркало, добавьте его в маршрутизацию (роутинг): к адресам плагина допускаются только домены и зеркала из маршрутизации.
- Откройте вкладку «Диагностика»: должны быть видны режимы витрин и очередь, без ошибок.
- Если у вас 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, не трогая базу
Этот путь по коду описан, но на практике не проверялся.
- Остановите фон: удалите строку плагина из cron (или выполните команду
pause), дождитесь, пока закончатся запущенные процессы. - Замените папку
wa-apps/shop/plugins/responsiveimagesкодом 3.3.0. Не используйте «Удалить плагин». - Сбросьте кеш Webasyst.
- Откройте настройки плагина 3.3.0 и нажмите «Сохранить» — скрипт витрины, собранный версией 4.0, с сервером 3.3.0 не работает, сохранение настроек его пересобирает. Очистите кеш страниц и CDN.
- Проверьте витрину.
Что остаётся на сервере после отката (код 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 и нажимайте «Сохранить» в настройках плагина.