Boutique PrestaShop en erreur 500 ou page blanche
Une page blanche ou une erreur 500 sur PrestaShop ne dit rien en soi : c’est un symptôme, pas un diagnostic. Il faut lire les vrais messages d’erreur pour savoir si le problème vient d’un module, d’un override, de la base ou du serveur.
Les situations que je traite
- Écran totalement blanc au chargement du front ou du back-office
- Erreur 500 apparue juste après une mise à jour de module ou de PrestaShop
- Erreur 500 uniquement sur certaines pages (fiche produit, panier, commande)
- Message « The file config/settings.inc.php is missing » après un transfert d’hébergeur
- Erreur 500 déclenchée après une modification manuelle d’un fichier override
- Site fonctionnel en local mais en erreur une fois déployé sur le serveur de production
Comment je procède
-
Activation du mode debug
Je passe _PS_MODE_DEV_ à true dans config/defines.inc.php pour faire apparaître le message d’erreur réel de PHP ou de Smarty à la place de la page blanche générique.
-
Lecture des logs
Je consulte les logs PHP du serveur (souvent dans error_log ou les logs Apache/Nginx) et, sur PrestaShop 1.7/8, le dossier var/logs/ qui contient les erreurs Symfony.
-
Isolation du fautif
Je désactive les modules un par un via la table ps_module ou le FTP, et je vérifie le contenu du dossier override/ pour repérer un fichier qui entre en conflit avec le core.
-
Vérification du serveur
Je contrôle la version de PHP, les extensions actives, le memory_limit et les droits d’écriture sur var/cache, var/logs et config, des causes fréquentes après un changement d’hébergement.
-
Correction et vidage du cache
Une fois la cause identifiée, je corrige le fichier ou reconfigure le serveur, puis je vide var/cache/prod (ou cache/smarty en 1.6) avant de repasser le mode debug sur false.
Les causes les plus fréquentes
Sur PrestaShop, une erreur 500 vient rarement du hasard. Les cas que je rencontre le plus souvent :
- Un fichier override mal écrit ou dupliqué entre
override/et un module, provoquant une redéclaration de classe. - Une incompatibilité de version PHP après une montée de version chez l’hébergeur (un module utilisant une fonction supprimée en PHP 8, par exemple).
- Des droits d’écriture manquants sur
var/cache,var/logsouconfigaprès un transfert de fichiers en FTP. - Un fichier
.htaccesscorrompu ou une règle de réécriture invalide, qui casse le routage avant même que PrestaShop ne s’exécute. - Une table manquante ou corrompue en base de données suite à une migration ou un import SQL interrompu.
Sur 1.6, la page blanche cache souvent une erreur Smarty dans le cache de compilation (cache/smarty/compile) qui n’a pas été vidé après une mise à jour de thème.
define('_PS_MODE_DEV_', true);
Décrivez votre besoin en 1 minute
Quelques questions ciblées pour que je vous réponde avec une estimation, pas avec un questionnaire de plus.