К основному содержимому

Перенос 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.

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

← Назад в базу знаний Задать вопрос поддержке