До основного вмісту

Перенесення PrestaShop на інший хостинг: покроковий план

Міграція · 29.09.2026

PrestaShop зберігає параметри підключення до бази даних у файлі app/config/parameters.php і жорстко перевіряє відповідність домену в таблиці ps_shop_url. Забута правка будь-якого з цих двох місць — найчастіша причина білого екрана після перенесення магазину.

Що врахувати перед перенесенням PrestaShop

Перед стартом визначте версію PrestaShop командою php bin/console prestashop:version або перегляньте файл app/AppKernel.php у старих версіях 1.6. Вимоги до сервера відрізняються залежно від гілки:

КомпонентPrestaShop 1.6PrestaShop 8
PHP7.1–7.48.1–8.3
MySQL5.6–5.78.0
Розширення intlобов'язковообов'язково
Composerне потрібен2.x

Уточніть версію PHP заздалегідь — PrestaShop 1.6 не запуститься на PHP 8.3, а PrestaShop 8 вимагає щонайменше PHP 8.1.

Перенесення файлів магазину

Каталог img/p із зображеннями товарів і modules зі встановленими платними модулями переносьте разом із ядром через rsync:

rsync -avz --progress /var/www/prestashop/ user@newserver:/var/www/prestashop/

Загальний розбір rsync, SCP і FTP є у статті перенесення файлів сайту. Після копіювання перевірте права на каталог var/cache — він повинен бути доступний на запис користувачу веб-сервера, інакше адмінка видасть помилку доступу при першому відкритті.

Експорт і імпорт бази даних

Експортуйте базу через панель «Розширені налаштування → База даних → Резервне копіювання» або з консолі:

mysqldump -u ps_user -p --single-transaction ps_db > ps_backup.sql

На новому сервері створіть базу з такою самою назвою або новою і імпортуйте дамп:

mysql -u ps_user -p ps_db < ps_backup.sql

Загальний алгоритм перенесення MySQL описано у статті перенесення бази даних MySQL. Зверніть увагу на префікс таблиць — за замовчуванням ps_, але на старих магазинах він може бути змінений під час встановлення.

Налаштування parameters.php і таблиці shop_url

У файлі app/config/parameters.php оновіть значення database_host, database_name, database_user і database_password на дані нового сервера. Потім відкрийте таблицю ps_shop_url і перевірте поля domain і domain_ssl — вони вказують на стару адресу, магазин перенаправить усі запити назад на попередній хостинг.

UPDATE ps_shop_url SET domain = 'newshop.example', domain_ssl = 'newshop.example';

Після правки очистіть кеш Symfony, інакше PrestaShop продовжить використовувати старі скомпільовані налаштування:

rm -rf var/cache/prod/*
rm -rf var/cache/dev/*

Перевірка вітрини і адмінки

Відкрийте магазин на новому сервері за IP із підміною хоста в локальному файлі /etc/hosts. Перевірте вхід до адмінки за адресою /admin123 (папка адмінки перейменована з міркувань безпеки), оформлення тестового замовлення і завантаження зображень товарів.

Тест пройдено — зменшіть TTL A-запису домену до 300 секунд за добу до перемикання і після зміни DNS перевірте поширення командою dig +short newshop.example з різних серверів. Детальна схема перемикання без простою — у статті зміна хостингу без простою.

Чек-лист міграції PrestaShop

  • Версія PHP на новому сервері відповідає версії PrestaShop.
  • Каталоги img і modules перенесено повністю.
  • Дамп бази імпортовано, префікс таблиць перевірено.
  • Файл parameters.php і таблиця ps_shop_url оновлені.
  • Кеш var/cache очищено після правки конфігурації.
  • Оформлення замовлення і вхід до адмінки перевірено за IP.

Фінальну перевірку після перемикання домену звірте із загальним чек-листом зі статті чеклист перевірки сайту після міграції.

← Назад до бази знань Поставити питання підтримці