Introduction

De temps en temps, Joomla peut afficher une page d'erreur à la place de la page que vous attendiez. Il existe deux types de pages d'erreur :

  • La page d'erreur système a un fond rouge. Elle apparaît lorsqu'une erreur grave survient avant que le template du site ou de l'administration ne soit rendu.
  • La page d'erreur de template ressemble au template normal du site ou de l'administration, mais la zone de contenu est remplacée par un message d'erreur. Elle apparaît lorsque l'erreur se produit dans le code du contenu.

Page d'erreur système

System fatal error page

Page d'erreur de template

Template error page

Comment résoudre le problème

Il existe de nombreuses raisons possibles pour qu'une erreur fatale survienne. En voici quelques-unes :

  • Un changement chez votre hébergeur, par exemple une version de PHP mise à jour qui n'est pas compatible avec Joomla ou l'une de vos extensions.
  • Un problème d'espace disque, d'utilisation de la mémoire ou de dépassement du temps d'exécution des scripts.
  • Une extension nouvellement installée ou activée qui n'est pas compatible avec Joomla. Un plugin défectueux peut désactiver la connexion à l'Administration !

Activer le débogage

Si votre interface d'Administration fonctionne encore :

  • Aller sur Panneau d'administration → panneau Système → Configuration générale.
  • Dans l'onglet Système, définir Débogage système sur Oui
  • Dans l'onglet Serveur, définir Rapport d'erreurs sur Maximum.
  • Puis Enregistrer & Fermer.

Si votre interface d'Administration ne fonctionne pas, modifier le fichier configuration.php situé à la racine de votre site Joomla.

  1. Changer les droits de 444 ou -r--r--r-- (personne n'a le droit d'écrire dans le fichier) à 644 ou -rw-r--r-- (seul le Propriétaire a le droit d'écrire).
  2. Modifier le fichier avec un éditeur de texte et définir $debug sur true et $error_reporting sur 'maximum'.
  3. Enregistrer le fichier.

Une fois les modifications effectuées, recharger la page qui causait l'erreur. Vous devriez maintenant voir une trace de la pile d'appels (stack trace). Exemple :

Template error page

Le premier élément de la trace de la pile d'appels (stack trace) indique où l'erreur a été déclenchée. Parfois, cela suffit à identifier l'extension fautive. Parfois, l'extension fautive se trouve plus bas dans la trace de la pile d'appels. Cela peut ne pas vous dire grand-chose, mais la trace de la pile d'appels est précieuse pour les experts qui répondent aux questions sur les forums Joomla.

Si vous parvenez à identifier l'extension fautive, désactivez-la. Vous pouvez le faire via l'interface d'administration si elle fonctionne. Sinon, utilisez phpMyAdmin pour trouver l'extension dans la table de base de données #__extensions et définir sa valeur enabled à 0. Vous ne devriez pas avoir besoin de désactiver des extensions du cœur de Joomla!.

Forum Post Assistant

Pour aider à résoudre les problèmes, vous devriez télécharger le Forum Post Assistant (FPA) et le charger à la racine de votre site Joomla!. Le lien pour le trouver se trouve également près du haut de chaque page du forum Joomla!. Le FPA est un script PHP autonome qui analyse votre installation Joomla! et vous indique ce qui pourrait ne pas aller. Là encore, cela peut ne pas vous dire grand-chose, mais les experts qui répondent aux questions sur les forums pourraient demander à le voir.

Nettoyage

Lorsque votre problème est résolu :

  1. Aller au Panneau d'administration → panneau Système → Configuration Générale
  2. Sélectionner l'onglet Système et définir Déboguer le système sur Non.
  3. Sélectionner l'onglet Serveur et définir Rapport d'erreurs sur Valeur par Défaut du système.
  4. Enregistrer & Fermer.
  5. Supprimer le Forum Post Assistant.

Les droits du fichier configuration.php sont définis en lecture seule (444 ou r--r--r--) lorsque le formulaire de Configuration Générale est enregistré. Il n'est pas nécessaire de le faire manuellement.