Il peut malheureusement arriver que votre site ecommerce Prestashop rencontre des erreurs, une page blanche par exemple. Dans ces conditions vous pouvez avoir besoin d’activer le mode debug de Prestashop.
Pourquoi activer le mode Prestashop debug ?
Il peut être nécessaire d’activer le mode debug de PrestaShop si vous souhaitez obtenir plus d’informations pour résoudre le problème par vous-même, ou pour effectuer des recherches avant de faire appel à un freelance Prestashop ou à une agence. Vous pourrez ainsi leur fournir des détails précis sur l’erreur rencontrée. Cependant, soyez vigilant, car l’activation du mode debug peut entraîner l’affichage d’erreurs sur votre front office, visibles par vos visiteurs.
Comment activer le mode debug sur Prestashop 1.6 ?
Vous devez avoir un minimum de connaissances en informatique pour activer le mode debug Prestashop 1.6 car il vous faut modifier une valeur dans le code.
- Connectez-vous à votre site via votre client FTP habituel
- Allez dans le dossier de config et ouvrez le fichier
defines.inc.php
- Changer la valeur
_PS_MODE_DEV_
de « false » à « true » . Enregistrez votre fichier - Après avoir terminé votre debug, n’oubliez pas de remettre
_PS_MODE_DEV_
de « true » à « false »
Comment activer le mode debug sur Prestashop 1.7 ?
Sur Prestashop 1.7 le mode débogage est simplifié. Vous pouvez désormais activer l’affichage des erreurs Prestashop directement depuis votre backoffice.
- Connectez-vous à votre Backoffice
- Allez dans le menu sur Paramètres avancés / Performances
- Passez le mode debug sur Oui. Enregistrer.
- Une fois que vous avez terminez votre debug, pensez à bien remettre sur Non.
Comment activer le mode debug sur Prestashop 8 ?
La procédure reste identique à celle de PrestaShop 1.7 :
- Connectez-vous à votre Backoffice
- Allez dans le menu sur Paramètres avancés / Performances
- Passez le mode debug sur Oui. Enregistrer.
- Une fois que vous avez terminez votre debug, pensez à bien remettre sur Non.
Activer le mode debug uniquement pour votre IP
Si votre site est en production et que vous activez le mode debug de prestashop, vous allez alors afficher les erreurs à vos visiteurs. Une petite astuce permet d’activer les erreurs de Prestashop uniquement pour l’IP du développeur.
- Connectez-vous à votre site via votre client FTP habituel
- Allez dans le dossier de config et ouvrez le fichier
defines.inc.php
- Modifez le code sous le commentaire
/* Debug Only */
par le code suivant :
123456/* Debug only */if (!defined('_PS_MODE_DEV_') && in_array($_SERVER['REMOTE_ADDR'], array('::1','localhost','127.0.0.1','xx.xx.xx.xx'))) {define('_PS_MODE_DEV_', true);} else {define('_PS_MODE_DEV_', false);} - Remplacez
xx.xx.xx.xx
par votre IP
Si vous ne connaissez pas votre adresse IP, vous pouvez vous rendre sur un site pour connaitre son IP comme trouver-ip.info. Ce site propose de trouver son IP gratuitement et d’autres services comme retrouver l’IP d’un site internet, localiser une IP, connaitre la disponibilité ou afficher les informations d’un nom de domaine…
Explications du code pour l’affichage des erreurs Prestashop uniquement pour son IP :
Le code ci-dessus active le mode Debug uniquement si votre adresse IP est présente dans ce tableau : array('::1','localhost','127.0.0.1','xx.xx.xx.xx')
. Les trois premières valeurs sont utiles si vous travaillez en local sur votre ordinateur.
Si vous souhaitez avoir des informations complémentaires ou si vous avez besoin d’une intervention suite à une erreur Prestashop, vous pouvez me laisser un message sur cette article ou me contacter directement.
Salut Adrien
Peut-on rajouter plusieurs IP (travail, domicile, etc) pour afficher le mode debug par IPs ? Sinon pas mal le site pour connaitre mon ip trouver-ip.info je ne connaissais pas.
Hello Damien
Oui, il suffit d’ajouter les IPs en les séparant d’une virgule : array(‘::1′,’localhost’,’127.0.0.1′,’xx.xx.xx.xx’,’xx.xx.xx.xx’)
A bientôt !
bonjour il est comment le dossier defines.inc.php au départ j ai peur d avoir fait une bêtise, voici le mien
if (_PS_MODE_DEV_ === false) {
@ini_set(‘display_errors’, ‘on’);
@error_reporting(E_ALL | E_STRICT);
define(‘_PS_DEBUG_SQL_’, true);
} else {
@ini_set(‘display_errors’, ‘off’);
define(‘_PS_DEBUG_SQL_’, false);
_PS_DEBUG_SQL_ c’est sur true or false je me demande si j ai pas fait une bêtise
merci d avance
Bonjour Sandrine
En voyant le code je suppose que c’est sur la 1.6.x.
Le début du fichier defines.inc.php :
/* Debug only */
if (!defined('_PS_MODE_DEV_')) {
define('_PS_MODE_DEV_', false);
}
/* Compatibility warning */
define('_PS_DISPLAY_COMPATIBILITY_WARNING_', false);
if (_PS_MODE_DEV_ === true) {
@ini_set('display_errors', 'on');
@error_reporting(E_ALL | E_STRICT);
define('_PS_DEBUG_SQL_', true);
} else {
@ini_set('display_errors', 'off');
define('_PS_DEBUG_SQL_', false);
}
Merci pour ce court post PrestaShop concis et efficace !