Il est parfois difficile sur certains hébergements mutualisés d’accéder aux logs d’erreur Apache ou PHP. Pour debug un plugin défaillant ou tout simplement une mise à jour WordPress qui a mal tournée, il est important de pouvoir afficher ce qui ne va pas. Voici un tutoriel pour activer le mode debug et afficher les erreurs PHP sur WordPress.

bldwebagency-activer-debug-wordpress-error-log-php

Prérequis

Avant de démarrer les opérations, si vous travaillez sur un site en production, il convient de le mettre en maintenance, même si il est actuellement KO et en erreur. Des informations sensibles que vous ne souhaiteriez pas partager pourraient être affichées avec le mode debug.

Pour activer le mode debug sur WordPress et visualiser les éventuelles erreurs, vous allez devoir éditer le fichier wp-config.php de votre installation WP. Vous aurez besoin pour cela d’un accès FTP/SFTP au serveur à l’aide de FileZilla :

bldwebagency-debug-mode-wordpress-display-error-php-ftp-wp-config

ou d’un accès SSH avec le binaire WP CLI :

wp-cli-wp-config-set-env-var-wordpress-debug-mode-display-errors-php

 

Activer le mode debug sur WordPress

Pour activer le mode debug sur WordPress, rien de plus simple, éditez votre fichier wp-config.php depuis FileZilla et ajoutez les lignes suivantes :

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', true);

Il est possible d’effectuer cette modification en utilisant le binaire WP CLI et en exécutant les commandes suivantes :

cd /var/www/html/monsite.com
wp config set WP_DEBUG true
Success: Added the constant 'WP_DEBUG' to the 'wp-config.php' file with the value 'true'.
wp config set WP_DEBUG_LOG true
Success: Added the constant 'WP_DEBUG_LOG' to the 'wp-config.php' file with the value 'true'.
wp config set WP_DEBUG_DISPLAY true
Success: Added the constant 'WP_DEBUG_DISPLAY' to the 'wp-config.php' file with the value 'true'.

Visualiser les logs d’erreurs Worpdress

Une fois ces quelques lignes ajoutées, le mode debug est actif sur votre site. Ceci signifie que chaque erreur PHP, et chaque Warning sera affiché sur votre site. Retournez sur la page d’accueil, ou celle qui présentait une erreur et actualisez la page. Vous devriez voir afficher à l’écran les différentes erreurs qui rendent votre site inaccessible :

bldwebagency-activer-debug-wordpress-error-log-php-fatal-error

Si vous ne voyez aucune erreur en naviguant sur le site, un fichier de log est créé et déposé sous DOCROOT/wp-content/debug.log. Ce fichier listera l’ensemble des Warning, Notice et Fatal Error présentes sur votre site :

[16-Nov-2021 18:14:02 UTC] PHP Notice: Undefined index: HTTP_CF_CONNECTING_IP in /var/www/html/xxxxxxxxxxxxxx/web/wp-content/plugins/wp-cerber/cerber-common.php on line 551 
[16-Nov-2021 18:14:02 UTC] PHP Notice: Undefined index: HTTP_CF_CONNECTING_IP in /var/www/html/xxxxxxxxxxxxxx/web/wp-content/plugins/wp-cerber/cerber-common.php on line 551

Retrouvez tous nos articles sur WordPress en suivant ce lien.