Guide complet sur le fichier error.log dans WordPress

Le fichier error.log est un fichier de journalisation très utile pour les administrateurs et développeurs de sites WordPress. Ce fichier contient une liste détaillée des erreurs rencontrées par le site, facilitant ainsi la détection des problèmes, le débogage et le suivi des performances du site. Il est essentiel pour la maintenance, car il permet d’identifier les erreurs qui pourraient affecter la sécurité, la stabilité et l’expérience utilisateur sur un site WordPress.

Où se trouve le fichier error.log sur un site WordPress ?

Dans WordPress, le fichier error.log n’est pas activé par défaut. Cependant, il peut être créé et alimenté en erreurs après l’activation du mode de débogage. Ce fichier se trouve souvent dans le répertoire wp-content du site, mais il peut aussi se situer à différents endroits selon la configuration du serveur. Les développeurs et administrateurs de sites peuvent également spécifier l’emplacement de ce fichier via le fichier wp-config.php.

Pourquoi activer l’error.log pour diagnostiquer les erreurs dans WordPress ?

Activer et utiliser l’error.log est essentiel pour repérer les erreurs silencieuses qui peuvent passer inaperçues mais impacter le site. Le fichier enregistre des erreurs PHP comme les erreurs fatales, les erreurs de syntaxe, les problèmes de connexion à la base de données, et les conflits entre plugins et thèmes. Il aide ainsi à diagnostiquer rapidement les erreurs liées à des fonctionnalités spécifiques du site.

Types d’erreurs couramment enregistrées dans le fichier error.log

  1. Erreurs PHP : elles incluent les erreurs de syntaxe, les erreurs de fonction, et les erreurs fatales pouvant affecter le fonctionnement des plugins et thèmes.
  2. Erreurs de connexion à la base de données : le fichier enregistre les erreurs de connexion et de permissions qui peuvent rendre le site inaccessible.
  3. Erreurs liées aux permissions : souvent liées à des problèmes de configuration de fichier, ces erreurs peuvent entraver l’accès de certains utilisateurs ou bloquer l’accès à certaines fonctionnalités.

Comment activer l’error.log dans WordPress ?

L’activation de l’error.log passe par la modification du fichier wp-config.php. Voici les étapes :

  1. Ouvrir le fichier wp-config.php : situé à la racine de votre site WordPress.
  2. Activer le mode de débogage en ajoutant ou modifiant les lignes suivantes :
    define( 'WP_DEBUG', true );
    define( 'WP_DEBUG_LOG', true );
    define( 'WP_DEBUG_DISPLAY', false ); // Pour éviter l'affichage des erreurs en frontend

    • WP_DEBUG : active le mode de débogage.
    • WP_DEBUG_LOG : enregistre les erreurs dans le fichier error.log.
    • WP_DEBUG_DISPLAY : empêche l’affichage des erreurs sur le site public, renforçant la sécurité.

Après avoir activé ces paramètres, le fichier error.log sera automatiquement créé dans le répertoire wp-content pour stocker les erreurs détectées.

Voici le code que nous utilisons dans wp-config.php

Avec cette configuration dans le fichier wp-config.php, vous avez un mécanisme de gestion avancée des erreurs et du débogage pour votre site WordPress. Cette configuration offre une flexibilité dans l’activation des logs d’erreurs, tout en maintenant une sécurité et une optimisation pour les environnements de production.

/** Errors / Debug **/
define('WP_DEBUG', false);
define('WP_DEBUG_DISPLAY', false);


if (WP_DEBUG) {
@error_reporting(E_ALL);
@ini_set('log_errors', true);
@ini_set('log_errors_max_len', '0');
define('WP_DEBUG_LOG', true);
define('CONCATENATE_SCRIPTS', false);
define('SAVEQUERIES', true);
}else{
@ini_set( 'display_errors', false );
}
  • Si le mode de débogage (WP_DEBUG) est activé :
    • @error_reporting(E_ALL); : capture toutes les erreurs, y compris les avertissements et les notifications mineures, afin de donner une vision complète des problèmes potentiels.
    • @ini_set('log_errors', true); : active la journalisation des erreurs dans un fichier de log.
    • @ini_set('log_errors_max_len', '0'); : aucune limite sur la longueur des messages d’erreur, permettant de capturer toutes les informations de chaque erreur.
    • define('WP_DEBUG_LOG', true); : enregistre les erreurs dans wp-content/debug.log.
    • define('CONCATENATE_SCRIPTS', false); : désactive la concaténation des scripts pour faciliter le diagnostic d’erreurs dans les fichiers JavaScript.
    • define('SAVEQUERIES', true); : stocke toutes les requêtes SQL dans un tableau ($wpdb->queries) pour une analyse approfondie de la performance de la base de données.
  • Si le mode de débogage est désactivé (else), display_errors est également désactivé pour éviter d’afficher les erreurs aux utilisateurs.

Avantages de cette configuration

  • Optimisée pour la production et le développement : vous pouvez facilement basculer entre les deux environnements en définissant simplement WP_DEBUG à true ou false.
  • Contrôle des informations sensibles : en production, aucune erreur n’est affichée sur le frontend, minimisant les risques de fuite d’informations.
  • Débogage approfondi : en activant SAVEQUERIES et CONCATENATE_SCRIPTS, vous obtenez plus de détails pour résoudre les problèmes complexes, en particulier au niveau de la base de données et des scripts JavaScript.

Comment lire et interpréter le fichier error.log ?

Le fichier error.log enregistre les erreurs sous forme de lignes horodatées qui indiquent le type d’erreur, le fichier concerné et parfois la ligne précise où l’erreur s’est produite. Pour les administrateurs, il est utile de savoir identifier les erreurs récurrentes ou graves, telles que les erreurs fatales, afin de prendre des mesures correctives rapidement.

Exemple d’erreur dans le fichier error.log :

[23-Aug-2023 15:30:12 UTC] PHP Fatal error: Uncaught Error: Call to undefined function some_function() in /path/to/file.php on line 10

Dans cet exemple, on voit qu’une erreur fatale s’est produite parce qu’une fonction some_function() n’a pas été définie. Ce type de message aide à localiser précisément le fichier et la ligne affectée.

Bonnes pratiques de sécurité pour le fichier error.log

Le fichier error.log peut contenir des informations sensibles sur les fichiers et configurations du site. Voici quelques bonnes pratiques pour protéger ce fichier :

  • Limiter l’accès : configurer le serveur pour restreindre l’accès au fichier error.log uniquement aux administrateurs.
  • Désactiver en production : une fois le débogage terminé, il est recommandé de désactiver le mode debug pour éviter l’accumulation de données qui pourraient être exploitées par des personnes malveillantes.
  • Supprimer régulièrement : faire un suivi des erreurs, puis supprimer ou archiver régulièrement le fichier pour alléger l’espace de stockage.

Pourquoi l’error.log est-il important pour la sécurité et la performance de WordPress ?

En enregistrant toutes les erreurs rencontrées par le site, l’error.log aide à maintenir un site performant et sécurisé. Il permet de détecter rapidement des failles potentielles dans les plugins, les thèmes ou même dans le noyau WordPress, réduisant ainsi le risque d’exploitation par des hackers. Un site bien entretenu, sans erreurs récurrentes ou failles de sécurité, est également plus rapide et fiable, ce qui contribue à une meilleure expérience utilisateur.

Consultez aussi d’autres définitions

Vous souhaitez travailler avec notre agence ?