Guide 02.06.2026 ~5 min czytania

PrestaShop 1.7 to 9 Migration — Step by Step

Moving from PrestaShop 1.7 to version 9 is a multi-stage process. This guide covers the full upgrade path through 8.x, PHP requirements, common pitfalls, and best practices.

PrestaShop 1.7 to 9 Migration — Step by Step
#migracja #prestashop 9 #prestashop 1.7 #upgrade #autoupgrade #php 8

PrestaShop 9 requires PHP 8.1 or higher and is built on Symfony 6. This makes a direct upgrade from version 1.7 impossible — you must pass through the 8.x branch. This guide walks you through the full process step by step.

Official Migration Path

PS 1.7.x
PS 8.0.x
PS 8.1.x
PS 9.x

The autoupgrade module (ps_autoupgrade) only supports migrations between adjacent major branches. Each stage is performed separately using the same module.

⚠️
Do not attempt to jump directly from 1.7 to 9. The autoupgrade module will block it, and a manual migration without following the correct order risks permanently corrupting the database.

PHP Requirements at Each Stage

PrestaShop Version Supported PHP Recommended PHP
1.7.8.x PHP 7.1 – 7.4 (+ 8.0) PHP 7.4
8.0.x PHP 7.2.5 – 8.1 PHP 8.0
8.1.x PHP 7.2.5 – 8.2 PHP 8.1 / 8.2
9.0 / 9.1 PHP 8.1 – 8.3 PHP 8.2 / 8.3

Switching to PHP 8.1+ is a hard requirement for PS 9 — it cannot be skipped.

Migration Process — Step by Step

1

Full Backup

Create a complete backup of the database (mysqldump or phpMyAdmin export) and store files, especially /img, /upload, /modules, /themes, and /app/config/parameters.php. Store the backup off the store's server. Never start without a verified backup.

2

Staging Environment

Run the full process on a copy of your store in a separate staging environment first. This lets you catch incompatible modules and theme issues before touching production.

3

Update to the Latest 1.7.x Release

Before moving to version 8, make sure the store runs the latest 1.7 build — currently PrestaShop 1.7.8.11. Download the autoupgrade module from GitHub (github.com/PrestaShop/autoupgrade) and run the upgrade from the admin panel.

4

Upgrade 1.7.x → 8.0.x

In the autoupgrade module, select the Major release channel, set the target version to 8.0.x, click "Check your configuration", then "Upgrade now". The process takes 5–15 minutes. Afterward, check logs and test the front end.

5

Upgrade 8.0.x → 8.1.x

Identical process — target version 8.1.x this time. It's a good idea to update PHP to 8.1 or 8.2 before this step, as PS 8.1 works best with those versions.

6

Switch PHP to 8.1+

PS 9 strictly requires PHP 8.1+. On a VPS, update the Nginx/Apache config: fastcgi_pass unix:/run/php/php8.2-fpm.sock; and reload FPM: systemctl restart php8.2-fpm. On shared hosting, use the control panel (cPanel, Plesk, DirectAdmin).

7

Final Upgrade 8.1.x → 9.x

After switching to PHP 8.1+, select target version 9.x (currently 9.1.x) in autoupgrade and launch the upgrade. This is the longest step — PS 9 introduces changes to the directory structure and database schema.

What Changes After Moving to PrestaShop 9

AreaPS 1.7PS 9
FrameworkSymfony 4Symfony 6
PHP7.1 – 7.48.1 – 8.3 (required)
Default themeClassicClassic + Hummingbird
APINo REST APINew REST API (OAuth 2.0)
Legacy codePresentRemoved

Module and Theme Compatibility

ℹ️
Modules: Review your installed modules list. Modules not updated since 2021 are very likely incompatible with PS 9. Options: purchase a newer version, replace with a compatible alternative, or drop the feature.
🎨
Theme: Themes built for PS 1.7 may not work on PS 8/9 due to hook and Smarty template changes. Safe option: switch to the default Classic theme for the migration, then check if your theme vendor offers a PS 9 version.

Most Common Post-Migration Issues

  • White screen or 500 error — usually an incompatible module or stale cache; clear it: php bin/console cache:clear --env=prod
  • Missing product images — check permissions on the /img directory
  • Admin panel errors — check logs in /var/log/prestashop/
  • Broken payments — payment modules require individual updates; contact your payment provider

Summary

Migrating from PrestaShop 1.7 to 9 is achievable and unlocks a modern tech stack (PHP 8.3, Symfony 6). The key is following the small sequential steps (1.7 → 8.0 → 8.1 → 9.x), testing in a staging environment, with a full backup in place.


R
Rafał Senetra
Author · AddonsHub