Comment activer le mode debug sur PrestaShop
Le mode debug remplace la page blanche ou le message générique de PrestaShop par le détail technique exact de l’erreur : fichier, ligne, classe en cause. C’est la première chose à activer devant un problème qui ne s’explique pas de lui-même.
Activer puis désactiver le mode debug
-
Se connecter en FTP, SFTP ou SSH
Le fichier à modifier n’est accessible ni depuis le back-office ni depuis l’admin : il faut un accès aux fichiers du serveur.
-
Ouvrir config/defines.inc.php
Ce fichier se trouve à la racine du dossier config/ de l’installation PrestaShop, quelle que soit la version 1.6, 1.7, 8 ou 9.
-
Modifier la constante _PS_MODE_DEV_
Repérez la ligne define('_PS_MODE_DEV_', false); et remplacez false par true, puis enregistrez le fichier.
-
Recharger la page concernée
Sur PrestaShop 1.7 et plus, une barre de débogage Symfony apparaît en bas de page avec les requêtes SQL exécutées, le temps de chargement et la pile d’erreur complète si une exception a été levée.
-
Lire le message et remonter à la cause
Le message indique le fichier, la ligne et souvent la classe ou le module fautif. C’est ce texte qu’il faut rechercher ou transmettre pour un diagnostic précis.
-
Repasser la constante à false
Une fois la cause identifiée et corrigée, remettez immédiatement _PS_MODE_DEV_ à false. Le laisser actif expose des détails techniques et parfois des données à n’importe quel visiteur.
define('_PS_MODE_DEV_', true);
Ce que le mode debug change concrètement
Sans mode debug, PrestaShop intercepte les erreurs PHP et Smarty et affiche à la place une page générique ou un écran blanc, pour ne rien exposer de sensible à un visiteur. C’est une protection utile en production, mais elle empêche aussi de voir ce qui s’est réellement passé.
Avec le mode debug actif, le comportement change selon la version. Sur PrestaShop 1.6, les erreurs PHP classiques et les erreurs de compilation Smarty s’affichent directement dans la page. Sur PrestaShop 1.7, 8 et 9, qui reposent sur le framework Symfony, le mode dev active en plus la barre de débogage Symfony (Symfony profiler) en bas de chaque page : elle liste les requêtes SQL exécutées, leur temps d’exécution, la mémoire consommée et, en cas d’exception, la pile d’appels complète avec le fichier et la ligne exacts.
Le mode debug agit aussi sur le comportement du cache : en développement, PrestaShop recompile les templates Smarty et recharge la configuration à chaque requête plutôt que de servir une version compilée. C’est plus lent, ce qui est une autre raison de ne jamais le laisser actif en permanence.
Les erreurs courantes
- Oublier de repasser _PS_MODE_DEV_ à false après le diagnostic : le site expose alors des informations techniques à tous les visiteurs, et parfois des données de configuration.
- Modifier le fichier via l’éditeur de code intégré au back-office quand le back-office lui-même est inaccessible : dans ce cas, seul un accès direct aux fichiers fonctionne.
- Confondre le mode debug PrestaShop avec le mode debug PHP du serveur (display_errors) : les deux sont utiles mais n’affichent pas la même chose et se règlent à des endroits différents.
- Activer le mode debug sur une boutique dont le certificat SSL affiche encore des avertissements : la page technique révélée peut alors être visible en clair sur un réseau non sécurisé.
Questions fréquentes
Le mode debug peut-il casser quelque chose sur la boutique ?
Je n’ai pas d’accès FTP, comment faire ?
Le mode debug est activé mais l’écran reste blanc, pourquoi ?
Faut-il activer le mode debug sur toute la boutique ou juste une page ?
Le message d’erreur affiché contient des informations sensibles, est-ce grave ?
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.