Découvrez le débugging WordPress
WordPress est une application web, et comme dans toute application web, la perfection n’existe pas. Nous pouvons nous retrouver avec certains bugs risquant de détériorer l'expérience utilisateur, voire tout simplement de bloquer l’utilisation. Voyons ensemble plus en détail ce qu’est le débugging WordPress.
Utilisez le mode debug
WordPress n’affiche pas les erreurs sur les pages quand un souci survient. Cependant, il est possible d’activer un mode debug qui permet d’afficher les erreurs quand on en rencontre. Il est aussi possible de récupérer les erreurs dans un fichier de log qui se trouvera dans les fichiers de WordPress, sans afficher les erreurs aux yeux de tous.
Pourquoi WordPress n’affiche pas les erreurs, de base ?
Si les erreurs étaient visibles, cela entraînerait 2 problématiques principales :
On pourrait se retrouver avec des pages à moitié visibles avec des erreurs en plein milieu. Cela n’est pas idéal pour l'expérience utilisateur.
L’affichage contient des informations du serveur, qui pourraient être très utiles pour de potentiels hackers en recherche de faille de sécurité pour attaquer votre site.
Donc un mode debug doit être absolument utilisé temporairement, ou bien de façon transparente pour les visiteurs.
Découvrons ensemble comment marche ce mode debug :
Maintenant que vous savez comment lire une erreur, voyons comment analyser l’erreur.
Analysez une erreur
Il est important de faire un petit rappel sur ce qui peut bugger dans notre site WordPress. Il y a différents fichiers dans un site WordPress, et chacun peut engendrer des erreurs :
du PHP qui posera des soucis d'exécution, et donc bloquera l’affichage de la page ;
du JavaScript qui posera des soucis d’interface et d’interactivité ;
du CSS qui posera des bugs au niveau de l’affichage ;
des images qui pourraient ne pas s’afficher.
Dans ce chapitre, nous nous concentrerons sur l’analyse d'erreurs en PHP.
Analysez et corrigez des erreurs PHP
Lire et analyser les erreurs en mode debug est avant tout du débugging d’application PHP. Il n’y a pas forcément beaucoup de différences entre les deux !
Appréhendez comment gérer des cas complexes de débogage
Nous avons vu comment analyser des erreurs de frappe, ou la mauvaise utilisation d’une variable. Vous pourrez vous retrouver parfois avec des cas bien plus complexes qui vous demanderont de creuser beaucoup plus en profondeur dans le code.
Le message d’erreur vous amènera dans le fichier incriminé, mais la vraie erreur peut venir du code exécuté en amont. Il faudra donc remonter le code et utiliser erreur_log()
, print_r()
et/ou var_dump()
pour bien analyser et comprendre la source de l’erreur.
Voici une liste non exhaustive de facteurs provoquant des erreurs plus complexes :
un plugin non mis à jour, qui n’est plus compatible avec une mise à jour de WordPress ;
une mise à jour du serveur PHP qui peut rendre certaines fonctionnalités obsolètes ;
une configuration serveur bloquant des accès à certains fichiers ;
une corruption de fichier rendant sa lecture impossible ;
un piratage du site modifiant certaines fonctionnalités.
Une fois la source de l’erreur trouvée, vous serez capable de la corriger.
En résumé
De base, WordPress empêche l’affichage des erreurs PHP, pour éviter de rendre visibles des informations du serveur aux yeux des visiteurs.
WordPress dispose d’une configuration permettant d’activer un mode debug pour analyser les erreurs PHP.
Les erreurs peuvent être reportées dans un fichier de log, permettant une analyse en toute discrétion, et évitant l'affichage public d'informations cruciales.
Analyser l’erreur ne vous aidera pas forcément à corriger directement la source du problème : dans certains cas, il faudra faire des recherches approfondies.
L’utilisation du mode debug de WordPress ne vous permettra pas d’analyser tous les cas de figure. Certains cas demanderont une analyse plus exhaustive. Par la suite, nous allons découvrir une extension pour faire cette analyse avec rapidité.