Comment activer les logs d’erreurs d’Apache et/ou le mode debug de WordPress ?

Pour dépanner un site WordPress ou tout autre site Web, l’une des premières actions à réaliser est l’activation des logs serveur (Apache) et l’activation du mode debug de WordPress, ou autre CMS.

Nous voyons ci-dessous comment réaliser rapidement ces 2 réglages sur un Hébergement cPanel, ou simplement dans les fichiers de WordPress

Activer les logs d’erreur WordPress

Rendez-vous dans le répertoire de votre site via le gestionnaire de fichiers dans votre compte cPanel.

Ensuite allez dans le dossier wp-content. Faites un clic droit sur le fichier wp-config.php et cliquez sur « edit » et à nouveau sur « edit » dans la fenêtre qui va s’ouvrir.

Ensuite copiez-collez ceci sous la ligne « WP_DEBUG » :

define('WP_DEBUG_LOG', true);

Si vous désirez N’afficher que les Erreurs Critiques (Fatal Errors) ➚, sans les avertissements PHP mineurs, suivez le lien précédent pour plus d’informations.

Désactiver l’affichage des erreurs, mais activer l’enregistrement des erreurs WordPress dans un fichier debug.log

Pour éviter d’afficher les erreurs aux yeux de tous, publiquement sur votre site WordPress, vous voudrez probablement :

  1. Conserver le mode debug actif.
  2. Activer l’enregistrement des erreurs dans un fichier debug.log.
  3. Masquer l’affichage des erreurs publiques.

Pour se faire, utilisez les valeurs suivantes dans votre fichier wp-config.php : 

// Activation du mode debug
define( 'WP_DEBUG', true );

// Enregistrement des erreurs dans /wp-content/debug.log
define( 'WP_DEBUG_LOG', true );

// Non-affichage public des erreurs sur le site WordPress
define( 'WP_DEBUG_DISPLAY', false );

Les erreurs seront donc enregistrées dans ce fichier et ne seront plus détaillées publiquement :

  • /public_html/wp-content/debug.log

Pour lire ou télécharger ce fichier, vous pouvez utiliser le Gestionnaire de fichiers de cPanel ➚.

Si vous désirez N’enregistrer que les Erreurs Critiques (Fatal Errors) ➚, pour ne pas surcharger vos logs d’avertissements mineurs, suivez le lien précédent pour plus d’informations.

Activer les logs Apache / PHP

Rendez-vous dans votre compte cPanel puis dans « Sélectionner une version de PHP » (Select a PHP version).

Ensuite cliquez sur l’onglet « Options ». 

Puis cochez la case « log_errors ».

display errors, error-log, error-reporting, log-errors, sur hébergement cPanel
  • La directive display_errors permet de définir si oui ou non, les erreurs PHP doivent être affichées publiquement sur les pages concernées.
  • La directive error_log permet de définir dans quel fichier les erreurs seront enregistrées. Par défaut, vous pourrez trouver le fichier log via un chemin tel que /home/user/public_html/error_log. Autrement dit, cela aura pour effet de créer un fichier error_log à la racine de votre site ou à la racine du sous-dossier concerné par l’erreur. Le fichier error_log sera ainsi accessible via votre Gestionnaire de fichiers cPanel ➚
  • La directive error_reporting permet de définir quel niveau d’erreur doit être affiché et/ou enregistré. Si vous désirez N’enregistrer que les Erreurs Critiques (Fatal Errors) ➚, suivez ce lien.
  • La directive log_errors permet de définir si oui ou non, les erreurs PHP doivent être enregistrées (de façon plus confidentielle) dans le fichier error_log.

Si les valeurs de display_errors, error_log, error_reporting et log_errors ont été modifiées, vous pouvez les rétablir dans leur valeur par défaut d’un simple clic, ou choisir un autre niveau d’affichage ou d’enregistrement des erreurs.

Comment n’afficher et n’enregistrer que les Erreurs Critiques (Fatal Errors) dans les logs PHP ou WordPress ? ➚ (niveau expert)

Désactiver complètement l’enregistrement des erreurs, même lorsque log_errors est activé :
Dans quelques rares cas de figure, certaines erreurs peuvent continuer d’être enregistrées dans error_log, même lorsque l’enregistrement des logs est désactivé.
La solution pour cela est de renseigner la valeur /dev/null dans le champ du répertoire où doivent être envoyés les logs, comme illustré ci-dessous.

Huge error_log how to forcer disabling error_log file keep growing
Dans Linux, le répertoire /dev/null signifie « nulle part » et son utilisation peut être utile lorsqu’on ne désire pas conserver certains journaux, et donc, lorsqu’on désire les envoyer « nulle part ».

Afficher les erreurs de la console JavaScript

Si vous rencontrez des problèmes avec un site WordPress, la solution ne se trouve pas toujours dans l’affichage des erreurs qui concernent PHP, mais parfois dans des erreurs JavaScript. Dans ce cas, il vous sera nécessaire de vérifier que la console de votre navigateur n’affiche pas d’erreurs critiques liées aux scripts .js de votre site.

Pour cela, dans votre navigateur internet Google Chrome, lorsque vous visitez votre site Web, faites un Clic droit puis cliquez sur Inspecter.

Afficher les erreurs javascript via la console de Google Chrome et son inspecteur.

Ensuite cliquez sur l’onglet « Console ».

Inspecter et n'afficher les erreurs javascript via la console de Google Chrome.

Les erreurs de scripts s’affichent généralement en rouge et les avertissement liés à vos scripts s’affichent sur fond jaune.

Sommaire de ce billet
Besoin d'aide ?

Le site WordPress speed.easyhoster.net ➚ permet de tester le potentiel des solutions d'Hébergement Web EasyHoster.