Оновлення ядра 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 тижні.







