Le mode debug de PrestaShop affiche les erreurs PHP à l’écran au lieu de les masquer. C’est indispensable pour diagnostiquer une page blanche ou un comportement anormal, et c’est aussi dangereux : activé en production, il expose des informations sur votre installation.

Voici comment l’activer, et surtout comment le faire sans mettre votre boutique en danger.

mode debug prestashop

Activer le mode debug depuis l’administration

Sur PrestaShop 1.7 et suivantes, l’option se trouve dans les paramètres avancés, section performances. Un simple interrupteur suffit.

C’est la méthode la plus simple, mais elle active le mode debug pour tous les visiteurs. Sur une boutique en ligne, cela signifie afficher publiquement vos chemins de fichiers et vos messages d’erreur.

Activer le mode debug par fichier

Si l’administration est inaccessible, ce qui arrive précisément quand vous avez besoin du debug, modifiez directement le fichier de configuration.

Sur PrestaShop 1.7 et suivantes, ouvrez config/defines.inc.php et passez la constante _PS_MODE_DEV_ à true. Sur la 1.6, le fichier est le même.

La bonne méthode : le debug limité à votre adresse IP

C’est la solution que j’utilise systématiquement sur une boutique en production. Le mode debug ne s’active que pour vous, les visiteurs ne voient rien.

Remplacez la définition de la constante dans config/defines.inc.php par ceci :

Remplacez xx.xx.xx.xx par votre adresse IP publique, que vous pouvez obtenir sur trouver-ip.info.

Vous voyez alors les erreurs, vos clients continuent de naviguer normalement. Si votre connexion n’a pas d’adresse fixe, pensez à mettre la valeur à jour.

Ce que le mode debug révèle

  • Les erreurs PHP masquées en temps normal, avec le fichier et la ligne concernés.
  • Les erreurs SQL, souvent à l’origine des pages blanches.
  • Le profilage, activable séparément, qui indique le temps passé par requête et par module. C’est ce qui permet d’identifier le module responsable d’une lenteur.

Les précautions

  • Ne le laissez jamais actif en production sans restriction par adresse IP. Les messages d’erreur exposent l’arborescence de votre serveur.
  • Désactivez-le après diagnostic. Notez-le dans vos tâches, cela s’oublie facilement.
  • Videz le cache après activation, sinon vous continuez de voir des pages compilées sans erreur affichée.
  • Sauvegardez le fichier avant modification. Une erreur de syntaxe dans defines.inc.php rend la boutique entièrement inaccessible.

Questions fréquentes

Comment activer le mode debug PrestaShop ?
Depuis les paramètres avancés, section performances, ou en passant la constante _PS_MODE_DEV_ à true dans config/defines.inc.php.

Peut-on activer le debug sans que les clients le voient ?
Oui, en conditionnant l’activation à votre adresse IP dans le fichier de configuration. C’est la méthode à privilégier en production.

Le mode debug est-il dangereux ?
Activé sans restriction en production, oui : les messages d’erreur exposent l’arborescence du serveur et des informations sur votre installation.

Ma boutique reste blanche malgré le mode debug, pourquoi ?
Videz le cache de PrestaShop. Les pages compilées continuent sinon d’être servies sans afficher les erreurs.

À quoi sert le profilage ?
Il indique le temps passé par requête et par module, ce qui permet d’identifier précisément l’origine d’une lenteur.

4.7/5 - (63 votes)

À lire aussi dans PrestaShop