WordPress Debug Mode - Conseils pour déboguer ton site web

WordPress Debug Mode - Conseils pour déboguer ton site web

Si vous avez trouvé le chemin de cet article, je suppose que vous avez rencontré une erreur sur votre site web WordPress . Ou que vous êtes une personne qui fait régulièrement de la maintenance et qui s'attend à rencontrer un bug. Quoi qu'il en soit, je tiens à vous rappeler que l'écriture de code et l'écriture de bugs vont de pair. Même les meilleurs développeurs font des erreurs. Pour que vous ne désespériez pas de ces erreurs, je vous ai écrit ce guide sur WordPress debug mode. Il s'agit d'un outil très utile pour découvrir et comprendre les erreurs dans WordPress . 

La première étape du débogage de votre code 

Asseyez-vous dans votre fauteuil, prenez quelques respirations profondes et expirez, et réalisez que tous les développeurs ont écrit du code bogué à un moment donné. Chaque fois que vous écrivez un code bogué, vous apprenez quelque chose - et si vous apprenez quelque chose, vous continuerez à développer et à améliorer vos compétences. 

Même si tu peux avoir l'impression qu'une erreur n'est là que pour te rendre fou, heureusement, c'est relativement peu probable. 😉 La bonne nouvelle, c'est que si tu n'as pas affaire à la toute dernière technologie, il y a de fortes chances que quelqu'un d'autre ait déjà rencontré la même erreur. 

Qu'est-ce que le débogage ? 

Si vous n'êtes pas familier avec le terme de débogage, il est littéralement dans le nom : de - bugging. En langage informatique, une erreur dans votre code est appelée un bug. Déboguer son code signifie donc : supprimer les erreurs de son code. Bien que les gens aiment à penser que les bogues sont causés par leur propre personnel ou par des mises à jour logicielles mal conçues, la vérité est que de nombreux bogues sont écrits de leur propre main - et il est préférable d'en venir à bout dès le début.

Pourquoi le débogage en PHP semble plus compliqué que le débogage en JavaScript

Vous avez peut-être l'habitude de déboguer dans un autre langage, par exemple en JavaScript. Ce qui est un peu déroutant, c'est que JavaScript n'est exécuté qu'après le rendu de votre site web - c'est du moins la norme sur le web et la raison pour laquelle vous insérez votre fichier .js à la fin du document HTML. Cela signifie que votre site web peut être affiché même en cas d'erreurs JavaScript. Si vous ne le remarquez pas ou si vous ne vérifiez pas le journal de votre console, vous ne saurez peut-être même pas qu'une erreur s'est produite. 

Cependant, PHP est un langage côté serveur et est utilisé pour construire votre site web (bien qu'il puisse faire beaucoup plus que cela). Ainsi, s'il y a une erreur dans votre code PHP, votre site web peut ne pas se charger et les visiteurs peuvent ne voir aucun contenu. Ainsi, les erreurs PHP sont généralement plus évidentes. 

Débogage dans WordPress avec WP-Debug 

Quel est le mode de débogage de WordPress ?

Si le mode de débogage de WP (parfois aussi appelé wp-debugger ou wp-debug) est activé, il vous montre les erreurs, les conseils et les avertissements signalés par le système WordPress . Par défaut, le wp-debugger est désactivé. La constante PHP wp_debug est la variable globale qui indique l'état du mode de débogage de WordPress via un booléen, c'est-à-dire s'il est activé ou non. 

Pourquoi utiliser le mode de débogage WordPress ?

Parce que WordPress utilise quelques composants de base différents : 

Front-end - HTML / CSS

Backend - PHP / Base de données

Plugins - Applications PHP créées par des tiers

Il peut donc être assez difficile de trouver la cause d'un problème sur votre site web. Le wp-debugger est un outil qui vous permet d'afficher ou de consigner les erreurs. 

Avant de commencer à déboguer, faites une sauvegarde ! 

Il y a un vieux proverbe qui dit : "Mieux vaut prévenir que guérir". Cela signifie qu'il est préférable d'éviter qu'un problème ne survienne. Pour toi, cela signifie : sécurise tes données !

Une opération de maintenance de 30 minutes peut rapidement se transformer en un cauchemar de 5 heures, simplement parce qu'aucune sauvegarde n'a été effectuée avant que quelqu'un ne modifie les fichiers internes.

Heureusement, si tu héberges ton site web chez Raidboxes, la sauvegarde se fait automatiquement ! Il suffit d'aller dans ton tableau de bord, de cliquer sur l'onglet "Sauvegardes" et de voir toutes tes sauvegardes quotidiennes. 

Aperçu de tes sauvegardes dans ton Raidboxes dashboard

Si tu veux faire des changements et que tu dois créer une sauvegarde manuelle, clique sur le bouton "Créer une sauvegarde manuelle" et donne un nom à la sauvegarde. Conseil : choisis un nom aussi significatif que possible pour que tu puisses reconnaître la sauvegarde plus tard. Maintenant, tu peux jouer avec ton site web comme tu le souhaites ! Si quelque chose se passe mal, il suffit de restaurer ta sauvegarde. 

comment créer une sauvegarde manuelle dans ton Raidboxes dashboard

Activer le mode de débogage de WordPress sur Raidboxes

Dans ton tableau de bord Raidboxes, tu peux activer le wp-debugger en un clic dans les paramètres de ta boîte : 

comment allumer le wp-debugger dans ton Raidboxes dashboard

Si vous cliquez sur WordPress Debug Logsaprès avoir activé le mode débogage de WP, vous pouvez voir dans le journal en direct quelles erreurs sont lancées par votre site WordPress . Vous pouvez accéder au journal de débogage lui-même soit via les paramètres de l'élément WP Debug (voir la capture d'écran), soit via l'aperçu de BOX . Vous pouvez également accéder aux fichiers WP Debug Log via FTP : Vos fichiers journaux sont stockés dans le /wp-content/ dans le fichier debug.log.

WordPress Debug Mode - Conseils pour déboguer ton site web

Tu trouveras plus d'informations sur l'analyse des erreurs de ton site WordPress sur Raidboxes dans notre centre d'aide.

Avez-vous besoin de wp-config.php pour le débogage ?

Sur Raidboxes , tu peux activer le mode de débogage de WordPress en un seul clic dans ton Dashboard . Pour des raisons de sécurité, le fichier wp-config.php est protégé en écriture. Dans les paramètres de ton Box sous WordPress > wp-config.php, tu peux toutefois enregistrer des entrées spéciales si nécessaire.

Très important : n'utilise cette fonctionnalité que si tu es sûr de l'effet des entrées. En effet, la modification de wp-config.php peut conduire à un site web défectueux. Avant d'ajouter une entrée, tu dois donc vérifier si tu as déjà fait une sauvegarde.

Dans la section suivante, nous expliquons comment activer le mode débogage de WP via wp-config.php lors du développement local.

Activez WordPress Debug localement 

Dans votre développement local, vous pouvez activer wp-debug en modifiant le fichier wp-config.php à la racine de votre dossier WordPress et en ajoutant le code suivant : 

// Dies aktiviert das Debugging.
define( 'WP_DEBUG', true );

Vous pouvez également découvrir que cette déclaration a déjà été ajoutée, mais que la valeur est fausse. Si c'est le cas, il suffit de le mettre à true. 

// Dies deaktiviert das Debugging.
define( 'WP_DEBUG', false );
où se trouve ton fichier wp-config
activer le mode de débogage WordPress  en PHP

À ce stade, je voudrais souligner une fois de plus combien il est important d'avoir une sauvegarde. C'est le moment de le vérifier à nouveau.  

WordPress Le mode débogage est maintenant actif - et maintenant ?

Maintenant que le wp-debugger est activé, les erreurs sont affichées directement dans la fenêtre du navigateur (si WP_DEBUG_DISPLAY est réglé sur true) - c'est à la fois une malédiction et une bénédiction. D'une part, vous pouvez voir les erreurs, mais d'autre part, tous les utilisateurs de votre site web peuvent les voir, ce qui n'est pas idéal. Pour vous donner un exemple, j'ai ajouté une petite fonction inconnue dans le pied de page du site standard WordPress Themes "Twenty Twenty-One". 

Avant d'activer wp-debug : 

avant que le mode de débogage WordPress  ne soit actif

Après avoir activé wp-debug : 

après l'activation du mode de débogage WordPress

Vous ne voulez probablement pas que les visiteurs de votre site Web voient cela, n'est-ce pas ? Le message d'erreur ne perturbe pas seulement le design, il peut même révéler des informations sensibles. Par exemple, avant que j'apporte quelques modifications à la sortie, mon nom d'utilisateur était sorti et avec cette information, n'importe quel pirate pouvait lancer une attaque. 

Vos erreurs sont-elles enregistrées ?

Si vous activez WP-Debug, les informations concernant l'erreur ne sont pas sauvegardées, mais seulement affichées. Pour enregistrer ces informations, vous devez activer wp_debug_log - ce point est abordé plus en détail plus loin dans l'article.

Comment activer le mode de débogage de WordPress et empêcher l'affichage des erreurs dans votre code HTML

Heureusement, il existe une solution à ce problème sur le site WordPress . Ajoutez le code suivant à votre wp-config.php : 

define( 'WP_DEBUG_DISPLAY', false );

Vous éviterez ainsi l'apparition d'erreurs dans le code HTML de votre site et épargnerez à vos utilisateurs le cauchemar que vous avez pu causer. La dernière pièce du puzzle consiste à vérifier les erreurs sans les publier. Bienvenue à la journalisation des erreurs ! 

Activez la journalisation des erreurs dans WordPress 

Dans le fichier wp-config.php, vous devez activer la journalisation des erreurs à partir de WordPress . Cela créera un fichier .log contenant les journaux et les détails des erreurs survenues sur votre site Web. 

define( 'WP_DEBUG_LOG', true );

Vous trouverez généralement le fichier journal dans le dossier wp-content de votre site Web WordPress , à moins que vous ne disposiez d'un chemin d'accès valide pour ce journal, comme indiqué ci-dessous : 

define( 'WP_DEBUG_LOG', '/tmp/wp-errors.log' );

Cependant, mon journal des erreurs a été écrit dans le répertoire racine de WordPress . Donc, si vous ne trouvez pas votre journal d'erreurs dans le dossier wp-content, vous devez chercher ailleurs :  

fichier log dans le système de fichiers

Examen d'un journal d'erreurs

Les journaux d'erreurs vous donnent des indications assez claires sur ce qui n'a pas fonctionné. Mais ce n'est pas parce qu'une chose est claire que vous la comprenez, alors décomposons-la. 

exemple d'une entrée de journal à partir du mode débogage de WordPress
  1. Heure de l'erreur : [12-Avr-2021 20:32:47 UTC]
  2. Type d'erreur : PHP Fatal Error
  3. Cause de l'erreur : Uncaught Error : Call to undefined function writeMsg() in
  4. Où l'erreur s'est produite : /home/XXXXXX/DEVELOPMENT/wp/wp-content/themes/twentytwentyone/footer.php:73

Au cas où vous vous demanderiez à quoi correspond l'erreur que j'ai inscrite, j'ai défini une méthode incorrecte appelée writeMsg() dans le fichier footer.php qui provoque une erreur. 

N'oubliez pas de désactiver !

Important : n'oubliez pas de désactiver le mode débogage de WordPress après votre analyse. Si vous le laissez actif, WordPress écrit toutes les erreurs qu'il trouve dans le fichier debug.log. Si des erreurs se produisent régulièrement, ce fichier peut devenir trop volumineux et utiliser votre mémoire.

Le journal des erreurs de WordPress est-il trop volumineux ?

Les journaux d'erreurs peuvent grossir avec le temps s'ils ne sont pas contrôlés. N'oubliez pas que non seulement les erreurs, mais aussi les avertissements et les conseils sont enregistrés. Lorsqu'il y a de nouvelles versions de PHP, certaines méthodes peuvent devenir obsolètes ou même Plugins peut ne plus être supporté. Dans ce cas, d'autres erreurs seront générées. 

Normalement, un journal d'erreurs ne devrait faire que quelques kB, mais même dans ce cas, il est fastidieux de le parcourir. Dans le pire des cas, les erreurs sont consignées dans un fichier qui fait déjà plusieurs Mo et contient des milliers de lignes de texte. En plus d'être plus confus, cela entraîne des temps de réponse plus lents du fichier journal et peut ralentir énormément votre recherche d'erreurs en raison des temps d'attente lors du chargement du journal. Que pouvez-vous faire alors ? 

Téléchargez le fichier pour l'archiver, puis supprimez-le ! 

Si les journaux d'erreurs de WordPress ont été activés dans wp-config.php et qu'aucun fichier error.log ne peut être trouvé, WordPress crée un tout nouveau fichier et le remplit avec les erreurs actuelles.

Conclusion

Le débogage du code rend le développement à la fois difficile et gratifiant. Parce que les erreurs vous obligent à élargir vos connaissances, à développer une attitude positive et à sortir des sentiers battus. Si vous avez des questions ou des difficultés à déboguer votre site Web WordPress , n'hésitez pas à laisser un commentaire ou à nous contacter dans le chat d'assistance. Amusez-vous bien à déboguer !

Tu as d'autres questions?

Si tu as d'autres questions sur le mode de débogage de WordPress, n'hésite pas à utiliser la fonction de commentaire ! Tu t'intéresses aux sujets actuels concernant WordPress, le design web et les affaires en ligne ? Alors suis Raidboxes sur Twitter, Facebook, LinkedIn ou via notre newsletter.

As-tu aimé cet article ?

Tes évaluations nous permettent d'améliorer encore plus notre contenu.

Laisse un commentaire

Ton adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués d'un *.