# PrestaShop 1.6 to 8: go through 1.7 or start from scratch

> There’s no direct jump between PrestaShop 1.6 and 8 with the official tool: you have to go through 1.7, at least transitionally, or start from a fresh install and migrate the data instead. Here are the two methods, what breaks along the way, and how I choose.

- Source canonique : [https://allaux.fr/en/prestashop/migration/1-6-vers-8](https://allaux.fr/en/prestashop/migration/1-6-vers-8)
- Langue : EN
- Dernière mise à jour : 2026-09-30

## Direct answer

> The autoupgrade module cannot jump from 1.6 to 8: move up to 1.7.8 first, confirm the shop works, then continue to 8. The alternative is a clean 8 install with the data re-imported. Either way, confirm before you start that your hosting offers at least PHP 7.2.5, the minimum PrestaShop 8 requires.

## Why there’s no shortcut to PrestaShop 8

The official autoupgrade module backs up files and database, then runs the schema scripts needed for each major version step. No version of this tool jumps straight from 1.6 to 8: the database structure changes with every major version, with new tables and renamed columns, and the official scripts run one step at a time.

Two methods remain possible: chain the migrations, 1.6 to 1.7 then 1.7 to 8, with a full backup and theme rebuild at each step; or start from a fresh 8 install and migrate only the data (catalogue, customers, orders), often quicker when the 1.6 theme and modules need rebuilding anyway.

On PHP, PrestaShop 8 needs 7.2.5 minimum, supporting 8.0/8.1, then 8.2 from September 2024. 1.6 works at best up to PHP 7.1: the PHP jump is part of the migration, not a separate option.

## What typically breaks in a 1.6 to 8 migration

- A payment module still using displayPayment (1.6) no longer appears at checkout on 8, where only paymentOptions is called.
- Modules using the old curly-brace array syntax (e.g. $array{0}) throw fatal errors, that syntax having been removed in PHP 8.
- The 1.6 theme, built on Default and Smarty alone, has no direct equivalent in 8’s hybrid Symfony/Twig architecture: it needs rebuilding, not copying.
- A module only declaring compatibility up to 1.7.8 (via config.xml and $ps_versions_compliancy) is blocked from installing on PrestaShop 8.

## How I choose and run the migration

1. **Auditing the current setup** — Modules, versions, declared compatibility with 8, plus theme state to decide adapt or start over.
2. **Choosing the method** — Chained 1.6 → 1.7 → 8 if theme and modules pass, or a fresh 8 install if rebuild is unavoidable anyway.
3. **Full backup before each step** — Files, complete database dump, critical module configuration, backed up outside autoupgrade’s own folder first.
4. **Migration or data import on a test environment** — Never on production. I validate each step before the next.
5. **Rebuilding the theme and replacing incompatible modules** — Theme rebuilt on Classic; working equivalent for every module that doesn’t migrate, or a rewrite.
6. **Checking, then going live** — Switch scheduled for a low-traffic window once approved.

## The point of no return, at every step

> Every autoupgrade run overwrites its own backup in /autoupgrade/backup as soon as a new attempt is launched on top. In a multi-step migration, only the very first backup, taken outside the tool, still lets you go back to the original 1.6 once the following steps have run.

## What I back up and how I check nothing’s missing

Before the first step: full site tree, database dump, module list with versions, payment/carrier module configuration — kept separately, since autoupgrade’s own backups can be overwritten.

After the final switch, I check orders, customers and catalogue products match, main URLs respond with the right status code, redirects work, and run a full test order to confirm checkout works with paymentOptions.

## config.xml

```
<compatibility>
  <min>1.7</min>
  <max>8.99.99</max>
</compatibility>
```

## To prepare for or complete this migration

- **Moving to PHP 8** — What changes when PHP jumps within the same migration. ([/prestashop/migration/passer-a-php-8](/prestashop/migration/passer-a-php-8))
- **Incompatible modules** — How I spot modules to replace, and with what. ([/prestashop/migration/modules-incompatibles](/prestashop/migration/modules-incompatibles))
- **Pre-migration checklist** — Everything I check before any PrestaShop migration. ([/prestashop/migration/checklist-avant-migration](/prestashop/migration/checklist-avant-migration))
- **Migrating without stopping sales** — Going live without blocking orders in progress. ([/prestashop/migration/migrer-sans-interruption-de-vente](/prestashop/migration/migrer-sans-interruption-de-vente))
- **Shop still on 1.5** — One step older, there is no reasonable cascade left: rebuild on 8 and carry the data over. ([/prestashop/migration/1-5-vers-8](/prestashop/migration/1-5-vers-8))
- **Migrate or rebuild?** — When the migration touches almost everything, compare it honestly with a rebuild. ([/creation/refonte-ou-reparation](/creation/refonte-ou-reparation))

| Valeur | Description |
|---|---|
| PHP 5.2 to 7.1 | PrestaShop 1.6 |
| PHP 7.2.5 minimum, up to 8.2 | PrestaShop 8 |

Source : devdocs.prestashop-project.org

## FAQ

### Can I go straight from PrestaShop 1.6 to 8 with the update module?

Not in a single run. autoupgrade steps through each version in turn and skips none, and the module version able to handle a 1.6 stops at 1.7: you reach 1.7 first, then run the tool again to get to 8. The other route is a fresh 8 install with the data migrated separately.

### Is it better to migrate via 1.7 or start from a fresh 8 install?

Depends on the theme and modules. If most has a good chance of surviving the intermediate steps, I chain the migrations; if it needs rebuilding anyway, starting fresh and migrating only the data is often quicker.

### Which PHP version does PrestaShop 8 need?

7.2.5 minimum. PHP 8.0 and 8.1 supported from launch, PHP 8.2 from September 2024.

### Will my 1.6 modules work on PrestaShop 8?

Rarely without adaptation. Every module must declare compatibility in config.xml and $ps_versions_compliancy. Many 1.6 modules also use curly-brace array syntax, removed in PHP 8, causing fatal errors.

### What happens to my theme in this migration?

It needs rebuilding, not copying: the default theme changes (Classic replaces Default) and the architecture moves to a hybrid Symfony/Twig base. A project in its own right, worth pricing separately.
