Disponible pour missions & renforts d’agence · Réponse rapide, par la personne qui intervient

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.

Décrire mon problème Discuter sur WhatsApp

Activer puis désactiver le mode debug

  1. 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.

  2. 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.

  3. Modifier la constante _PS_MODE_DEV_

    Repérez la ligne define('_PS_MODE_DEV_', false); et remplacez false par true, puis enregistrez le fichier.

  4. 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.

  5. 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.

  6. 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.

config/defines.inc.php
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 ?
Non, il ne modifie aucune donnée. Il change uniquement la façon dont PrestaShop affiche les erreurs et, sur 1.7 et plus, désactive certains caches de développement, ce qui ralentit temporairement le site sans l’endommager.
Je n’ai pas d’accès FTP, comment faire ?
Il faut au minimum un accès aux fichiers du serveur, via FTP, SFTP, SSH ou le gestionnaire de fichiers du panneau d’hébergement. Sans cet accès, il n’est pas possible de modifier config/defines.inc.php.
Le mode debug est activé mais l’écran reste blanc, pourquoi ?
Cela arrive quand l’erreur se produit avant même le chargement de PrestaShop, par exemple sur une erreur PHP fatale de bas niveau ou un fichier .htaccess invalide. Il faut alors consulter directement les logs du serveur.
Faut-il activer le mode debug sur toute la boutique ou juste une page ?
La constante s’applique à l’ensemble du site, il n’existe pas de réglage par page. C’est justement pour cela qu’il doit rester actif le moins longtemps possible.
Le message d’erreur affiché contient des informations sensibles, est-ce grave ?
Le risque est réel si le mode reste actif longtemps : chemins de fichiers, structure de la base ou requêtes SQL peuvent apparaître. Le corriger rapidement puis repasser en mode production limite ce risque à la durée du diagnostic.

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.

Quelle est l’ampleur du problème ?
Qu’est-ce qui a changé juste avant l’apparition de l’erreur ?

Une mise à jour ou une modification récente oriente presque toujours le diagnostic en premier.

Le mode debug a-t-il été activé pour voir le détail de l’erreur ? (facultatif)

Il s’active dans config/defines.inc.php (_PS_MODE_DEV_) et révèle souvent la cause exacte en une ligne.

Avez-vous accès aux journaux d’erreurs ? (facultatif)
Quel message d’erreur s’affiche exactement ? (facultatif)

Recopiez-le tel quel, même s’il paraît incompréhensible.

Indiquez au moins un e-mail ou un téléphone pour que je puisse vous répondre.

Indiquez au moins un e-mail ou un téléphone pour que je puisse vous répondre.