Languages: English • Español • Français • Hrvatski • Italiano • Português do Brasil • (Add your language)
Le débogage du code PHP fait partie de tout projet, mais WordPress est livré avec des systèmes de débogage spécifiques visant à simplifier le processus ainsi que de normaliser le code du noyau, des extensions et des thèmes. Cette page décrit les divers outils de débogage dans WordPress et comment être plus productif dans votre codage ainsi que comment augmenter de la qualité globale et interopérabilité de votre code.
WP_DEBUG est une constante PHP (une variable globale permanente) qui peut être utilisée pour déclencher le mode "debug" tout au long de WordPress. Il est supposé être faux (false) par défaut et est généralement fixé à vrai (true) dans le fichier wp-config.php sur les copies de développement de WordPress.
define ('WP_DEBUG', true); define ('WP_DEBUG', false);
Remarque : Les valeurs true and false dans l'exemple ne sont pas entourées par des apostrophes (') parce que ce sont des valeurs booléennes (vrai / faux). Si vous définissez des constantes à 'false', elles seront interprétés comme vraies parce que les guillemets font que c'est interprété comme une chaîne plutôt que comme un booléen.
Il n'est pas recommandé d'utiliser WP_DEBUG ou les autres outils de débogage sur les sites en production ; Ils sont destinés aux tests locaux et à la mise en place.
L'activation de WP_DEBUG provoquera l'affichage de toutes les erreurs, alertes et avertissements de PHP. C'est susceptible de modifier le comportement de PHP par défaut qui affiche seulement les erreurs fatales et / ou montre un écran blanc de la mort lorsque des erreurs sont présentes.
Afficher toutes les alertes et avertissements PHP se traduit souvent par des messages d'erreur pour des choses qui ne semblent pas cassées, mais ne suivent pas correctement les conventions de validation des données de PHP. Ces avertissements sont faciles à corriger, une fois que le code correspondant a été identifié, et le code résultant est presque toujours plus résistant aux bogues et plus facile à maintenir.
L'activation de WP_DEBUG entraînera aussi des avertissements sur les fonctions et les arguments obsolètes dans WordPress qui sont utilisés sur votre site. Ce sont des fonctions ou des arguments de fonctions qui n'ont pas encore été retirées du code du noyau, mais sont prévues pour la suppression dans un proche avenir. Les avis d'obsolescence indiquent souvent la nouvelle fonction qui doit être utilisée à la place.
WP_DEBUG_LOG est un compagnon à WP_DEBUG qui provoque l'enregistrement de toutes les erreurs dans un fichier debug.log présent à l'intérieur du répertoire /wp-content/. C'est utile si vous voulez examiner tous les avertissements plus tard, ou si vous avez besoin de consulter les avertissements générés en dehors de l'écran (par exemple lors d'une requête AJAX (en anglais) demande ou l'exécution de wp-cron).
Notez que cela vous permet d'écrire dans /wp-content/debug.log en utilisant la fonction native de PHP error_log(), ce qui peut être utile, par exemple, lors du débogage des événements AJAX.
define('WP_DEBUG_LOG', true);
WP_DEBUG_DISPLAY est un autre compagnon de WP_DEBUG qui contrôle si les messages de débogage sont affichés dans le HTML des pages ou pas. La valeur par défaut est 'true' ce qui montre les erreurs et avertissements lorsqu'ils sont générés. Ce paramètre à 'false' permet de masquer toutes les erreurs. Il doit être utilisé en conjonction avec WP_DEBUG_LOG de sorte que des erreurs puissent être examinées ultérieurement.
define('WP_DEBUG_DISPLAY', false);
SCRIPT_DEBUG est une constante liée qui forcera WordPress à utiliser les versions « dev » des fichiers CSS et JavaScript du noyau plutôt que les versions minifiées qui sont normalement chargées. Ceci est utile lorsque vous testez des modifications à tous fichiers .js ou .css intégrés. La valeur par défaut est 'false'.
define('SCRIPT_DEBUG', true);
La définitionSAVEQUERIES enregistre les requêtes de la base de données dans un tableau et ce tableau peut être affiché pour aider à analyser ces requêtes. La constante définie à 'true' provoque l'enregistrement de chaque requête, combien de temps elle à mis pour s'exécuter, et quelle fonction l'a appelée.
define('SAVEQUERIES', true);
Le tableau est stocké dans la globale $wpdb->queries.
REMARQUE : Cela aura un impact sur les performances sur votre site, assurez-vous donc désactiver cette fonction lorsque vous n'êtes pas en mode débogage.
Le code suivant, inséré dans votre fichier wp-config.php, va enregistrer toutes les erreurs, alertes et avertissements dans un fichier appelé debug.log dans le répertoire wp-content. Il masquera également les erreurs de manière à ne pas interrompre la génération de la page.
// Activer le mode WP_DEBUG define('WP_DEBUG', true); // Activer l'enregistrement de débogage dans le fichier /wp-content/debug.log define('WP_DEBUG_LOG', true); // Désactiver l'affichage des erreurs et des alertes define('WP_DEBUG_DISPLAY', false); @ini_set('display_errors',0); // Utiliser les versions de dev des fichiers JS et CSS du noyau (nécessaire seulement si vous modifiez ces fichiers) define('SCRIPT_DEBUG', true);
REMARQUE : Vous devez insérer cela AVANT /* C'est tout, ne touchez pas à ce qui suit ! Bon blogging ! */ dans le fichier wp-config.php.
Il y a beaucoup d'extensions bien écrites qui gèrent le débogage dans WordPress et montrent plus d'informations sur l’intérieur, soit pour un composant spécifique ou en général . Quelques exemples de ces extensions sont Debug Bar avec Debug Bar puis Debug Bar Console, Log Deprecated Notices et Total Security.
Avant WordPress 3.1, la constante STYLE_DEBUG se comportait de façon similaire à SCRIPT_DEBUG, mais affectait les fichiers CSS plutôt que JavaScript. Dans la version 3.1 les deux constantes ont été fusionnés dans SCRIPT_DEBUG, qui affecte désormais les deux types de fichier minifiés.
== == Ressources externes