Passa al contenuto principale

Prestashop e PHP aggiornato: incompatibilità frequenti

Aggiornare la versione PHP dell’hosting è spesso necessario per sicurezza e performance, ma può rompere Prestashop se ci sono incompatibilità. Ecco i problemi più frequenti e come risolverli.

Versioni PHP compatibili con Prestashop

  • Prestashop 1.6: PHP 5.6 – 7.4 (PHP 8.x NON supportato)
  • Prestashop 1.7.x: PHP 7.1 – 7.4, con limitazioni su PHP 8.0
  • Prestashop 8.x: PHP 8.0 – 8.2 (consigliato PHP 8.1)

Incompatibilità PHP 8.x: cosa rompe e perché

PHP 8.0 ha introdotto breaking change significativi rispetto a PHP 7.4:

  • Rimosso ereg() e funzioni deprecate → errori fatali in moduli vecchi
  • Nuova gestione dei tipi stretti → errori TypeError in moduli con codice vecchio
  • Rimosso mysql_*() → incompatibilità con moduli che usano la libreria MySQL obsoleta

Diagnosi: attiva il display degli errori

In config/defines.inc.php:

define('_PS_MODE_DEV_', true);
define('_PS_DEBUG_SQL_', true);

Gli errori PHP mostrati identificano quale modulo o file è incompatibile.

Soluzione 1: aggiorna i moduli incompatibili

Cerca sul Marketplace Prestashop la versione aggiornata di ogni modulo che genera errori. La maggior parte dei moduli professionali hanno versioni PHP 8.x compatibili.

Soluzione 2: aggiorna Prestashop

Se usi Prestashop 1.6 o 1.7 con hosting che ha aggiornato a PHP 8.x, la soluzione definitiva è migrare a Prestashop 8.x. È un intervento significativo ma necessario a lungo termine.

Soluzione temporanea: torna a PHP 7.4

La maggior parte degli hosting permette di scegliere la versione PHP per dominio (cPanel → Select PHP Version). Come soluzione temporanea, torna a PHP 7.4 mentre pianifichi l’aggiornamento.

GiBiLogic gestisce aggiornamenti e migrazioni Prestashop per e-commerce bresciani. Contattaci.