Mode debug PrestaShop et logs : où lire le message d’erreur
Vous activez le mode debug de PrestaShop dans Paramètres avancés > Performances ou dans le fichier config/defines.inc.php. Il ne répare rien par lui-même. Il affiche le message d’erreur au lieu d’une page blanche. Avant de l’activer, regardez les logs dans Paramètres avancés > Logs. Le message d’erreur s’y trouve souvent déjà, avec une date et le nom du module.
Auteur: L’équipe TellMyShop. Un guide pour les propriétaires de boutiques PrestaShop : la cause, la correction manuelle et le même travail dans une conversation avec le chat.
Dernière mise à jour: · 5 min de lecture
Où PrestaShop enregistre-t-il le message d’erreur ?
À quatre endroits, et chacun voit des erreurs un peu différentes.
| Endroit | Où le trouver | Ce qu’il contient | Quand regarder |
|---|---|---|---|
| Logs PrestaShop | Paramètres avancés > Logs | les entrées de PrestaShop et des modules, avec une date et un niveau de gravité | toujours, en premier |
| Mode debug | Paramètres avancés > Performances ou config/defines.inc.php | le message complet avec le fichier et la ligne, directement sur la page | quand la page est blanche ou affiche une erreur 500 |
| Fichiers de logs sur le serveur | le dossier var/logs | les erreurs écrites par la couche Symfony | quand le back office ne fonctionne pas ou que l’erreur le concerne |
| Journal d’erreurs de l’hébergement | panneau d’hébergement, en général « error log » ou « logs PHP » | les erreurs PHP, y compris celles que PrestaShop n’a pas réussi à enregistrer | quand les logs du back office sont vides |
Il existe aussi un cinquième endroit, la console du navigateur. Vous l’ouvrez avec F12. Elle montre les erreurs de scripts, par exemple quand un bouton ne fait rien et que les logs de la boutique sont vides. Vous trouverez une description de l’écran des logs dans la documentation PrestaShop.
Comment activer le mode debug sans risque ?
Pour le moins de temps possible, idéalement sur une copie de test de la boutique.
- Vérifiez les logs. Si le message d’erreur y est déjà, vous n’avez pas besoin du mode debug.
- Activez le debug dans le back office. Paramètres avancés > Performances, l’interrupteur du mode debug. Cette page est décrite dans la documentation sur les performances.
- Quand le back office ne fonctionne pas, passez par le fichier. Dans
config/defines.inc.php, changez_PS_MODE_DEV_defalseàtrue. La documentation pour développeurs le décrit. - Reproduisez l’erreur. Ouvrez la page qui plante et copiez tout le message : le texte, le fichier et le numéro de ligne.
- Désactivez le debug. Juste après avoir copié le message. Le mode debug montre des détails techniques à chaque visiteur.
- Videz le cache. Paramètres avancés > Performances, le bouton en haut à droite.
D’autres interrupteurs, y compris la désactivation des overrides et des modules non natifs pendant un test, sont décrits dans le guide d’icomSEO sur le mode debug (en polonais).
Comment lire une entrée des logs ?
Regardez trois choses : le niveau de gravité, le chemin du fichier et la date de la première occurrence.
Le niveau de gravité vous dit à quel point c’est urgent. Un est une information, deux un avertissement, trois une erreur et quatre un problème majeur qui arrête en général la page. Le chemin du fichier vous dit à qui appartient l’erreur. Un fragment comme modules/nom_du_module désigne un module, themes/ le thème et override/ un override laissé par un module. La date de la première occurrence vous dit ce qui a changé à ce moment-là. Une erreur apparue un quart d’heure après la mise à jour d’un module vient en général de ce module.
Copiez l’entrée en entier quand vous l’envoyez à l’auteur du module ou à un développeur. Ajoutez la version de PrestaShop, la version de PHP et une description de ce sur quoi vous cliquez avant que l’erreur apparaisse. Quand la boutique affiche déjà une erreur 500, passez au plan de l’article erreur 500 PrestaShop. Quand les logs désignent un module, voyez comment désactiver un module PrestaShop sans perdre ses données.
Quels messages verrez-vous le plus souvent ?
Quelques types de messages reviennent sans cesse dans les boutiques PrestaShop, et chacun indique à qui demander de l’aide.
| Fragment du message | Ce qu’il signifie en général | Qui peut aider |
|---|---|---|
| Allowed memory size exhausted | le script a eu besoin de plus de mémoire que le serveur n’en permet | votre hébergeur |
| Class not found | un fichier de classe manque, souvent après la suppression d’un module ou avec un ancien override | un développeur |
| Undefined array key ou Undefined index | le module n’est pas adapté à une version plus récente de PHP, en général un avertissement | l’auteur du module |
| SQLSTATE | une erreur de requête dans la base de données, souvent venant d’un module | l’auteur du module ou un développeur |
| Unable to load template | un fichier de modèle manque dans le thème ou un module | l’auteur du thème ou un développeur |
Collez le message en entier dans votre signalement. Ne le raccourcissez pas et ne le reformulez pas, car l’auteur cherche le texte exact.
Comment passer les logs en revue avec le chat ?
Vous demandez les entrées d’une période choisie, et votre chat (Claude ou ChatGPT) regroupe les erreurs répétées et les explique en langage simple. Il indique aussi le module que l’erreur désigne le plus probablement.
Vous: Sors les erreurs et les problèmes majeurs des logs depuis lundi, regroupe-les par message et dis-moi quel module ils désignent.
Votre chat: Depuis lundi, il y a 52 entrées au niveau erreur et aucun problème majeur. Trois groupes :
41 entrées du module d’avis, toujours sur la fiche produit, depuis mardi matin.
9 entrées du module de newsletter lors de l’inscription d’une adresse, réparties dans le temps.
2 entrées sur une image manquante dans la catégorie Lanternes, un problème de contenu mineur.
Le premier groupe est le plus urgent. Il a commencé après la mise à jour du module d’avis.
Le mode debug est désactivé, et il doit le rester.
La lecture des logs fonctionne dans la version gratuite TellMyShop Free, sans achat. Par défaut, elle couvre les 7 derniers jours et jusqu’à 200 entrées à la fois. Les adresses e-mail, les numéros de téléphone et les adresses IP sont masqués. La revue technique de la boutique vous dira aussi si quelqu’un a laissé le mode debug activé. Vous trouverez une demande prête à l’emploi dans le cas d’usage comprendre les messages d’erreur après la mise à jour d’un module.
Le chat ne lit pas les fichiers du dossier var/logs ni le journal d’erreurs de l’hébergement. Quand la boutique ne répond plus du tout, le module TellMyShop ne fonctionne pas non plus, car il tourne à l’intérieur de la boutique.
Questions et réponses
Où se trouvent les logs dans PrestaShop ?
À trois endroits. Les logs du back office se trouvent dans Paramètres avancés > Logs et montrent les entrées enregistrées par PrestaShop et les modules. Les fichiers de logs se trouvent dans le dossier var/logs sur le serveur. Les erreurs PHP que PrestaShop n’a pas réussi à enregistrer sont dans le journal d’erreurs de votre panneau d’hébergement.
Puis-je laisser le mode debug activé ?
Ne le laissez pas activé. Le mode debug montre des détails techniques à chaque visiteur, y compris les chemins des fichiers sur le serveur. Il désactive aussi une partie du cache : la boutique tourne donc plus lentement. Activez-le pour le diagnostic, idéalement sur une copie de test, et désactivez-le juste après.
Que signifient les niveaux de gravité dans les logs PrestaShop ?
Les entrées ont quatre niveaux. Un est une information, deux un avertissement, trois une erreur et quatre un problème majeur qui arrête en général la page. Au quotidien, regardez les niveaux trois et quatre. Lisez les avertissements quand quelque chose se comporte bizarrement et que les logs ne contiennent pas d’erreurs.
Comment recevoir les notifications d’erreurs par e-mail ?
Dans Paramètres avancés > Logs, vous définissez le niveau de gravité minimal à partir duquel PrestaShop envoie un e-mail à l’administrateur. Réglez-le sur les erreurs ou les problèmes majeurs, donc trois ou quatre. Au niveau des avertissements, votre boîte se remplit vite et les messages importants se perdent parmi les mineurs.
Le chat lira-t-il les logs du serveur ?
Le chat lit les logs PrestaShop du back office, par défaut sur les 7 derniers jours et jusqu’à 200 entrées à la fois. Les adresses e-mail, les numéros de téléphone et les adresses IP sont masqués dans les résultats. Le chat ne lit pas les fichiers de var/logs ni le journal d’erreurs de l’hébergement. Vérifiez-les dans votre panneau d’hébergement ou demandez-les à votre hébergeur.
PrestaShop est une marque déposée de PrestaShop SA. Claude est une marque d’Anthropic PBC. ChatGPT et OpenAI sont des marques d’OpenAI. TellMyShop n’est pas affilié à ces entreprises.