Обновление ядра OpenCart и модулей
OpenCart использует модульную архитектуру — обновление ядра и расширений происходит по-разному. Ядро обновляется вручную или через встроенный механизм, модули — через OpenCart Extension Installer.
Подготовка к обновлению
# Бэкап файлов
tar czf /backups/opencart-$(date +%Y%m%d).tar.gz /var/www/shop.com
# Бэкап БД
mysqldump -u root opencart_db > /backups/opencart-db-$(date +%Y%m%d).sql
Обновление ядра OpenCart
Через встроенный механизм (OpenCart 3.0.3+): Admin → Extensions → Installer → вкладка Updates.
Вручную:
# Скачать новую версию
wget https://github.com/opencart/opencart/releases/download/4.x.x/opencart-4.x.x.zip
unzip opencart-4.x.x.zip
# Скопировать только файлы ядра (НЕ затирая config.php и модификации)
rsync -avz --exclude='config.php' \
--exclude='admin/config.php' \
--exclude='image/' \
--exclude='system/storage/upload/' \
opencart-4.x.x/upload/ \
/var/www/shop.com/
# Запустить миграцию БД
php /var/www/shop.com/install/cli_install.php upgrade
Обновление через OpenCart Modification System (OCMOD)
OCMOD позволяет устанавливать модификации не изменяя файлы ядра. При обновлении ядра модификации применяются заново:
Admin → Extensions → Modifications → Refresh
Модификации хранятся отдельно — они не перезаписываются при обновлении ядра.
Обновление платных расширений
Admin → Extensions → Marketplace → Install
# Или вручную через Extension Installer:
Admin → Extensions → Installer → Upload
# Выбрать .zip файл расширения
После установки расширения:
Admin → Extensions → Modifications → Refresh (применить OCMOD)
Admin → Dashboard → очистить кэш
Обновление OpenCart 3 → OpenCart 4
Прямого upgrade нет — структура БД изменилась значительно. Рекомендуемый путь:
- Установить OpenCart 4 на новый сервер
- Мигрировать контент (товары, категории, заказы) через export/import
- Найти OC4-совместимые версии всех расширений
- Перенести кастомные шаблоны (OC4 использует Twig вместо PHP-шаблонов)
-- Экспорт товаров из OC3
SELECT p.product_id, pd.name, p.model, p.sku, p.price, p.quantity, p.status
FROM oc_product p
JOIN oc_product_description pd ON p.product_id = pd.product_id AND pd.language_id = 1
INTO OUTFILE '/tmp/products_export.csv'
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\n';
Проверка после обновления
# Ошибки PHP
tail -f /var/log/php/error.log
# Тест корзины и оформления заказа
# Тест платёжного шлюза
# Очистить все кэши
# Admin → Dashboard → иконка обновления
# Удалить system/storage/cache/ если нужно
rm -rf /var/www/shop.com/system/storage/cache/*
Сроки
Обновление OpenCart в рамках одной major-версии — 2–4 часа. Переход с OC3 на OC4 — 2–4 недели.







