Écran de message d’erreur avec message d’erreur

Écrit par Mario SAM

Ce conseil s’adresse aux amis développeurs. Pour accélérer un peu les erreurs dans Magento.

Il est commun (depuis la version 1.4.x), le système affiche un message de sécurité comme celui-ci:

Error log record number: 1234567890

Bien sûr, je ne vais pas encore expliquer tout, si vous voulez savoir comment identifier ce message d’erreur, lisez la publication: Error log record number – Identification du problème.

Error log record number à Magento

Dans cette publication, je vais donner quelques conseils pour afficher les erreurs sur l’écran, et comment configurer cet écran.

Avantages et inconvénients

Lorsque vous lisez le message d’erreur sur l’écran, votre système est exposé car il affiche les défauts pouvant être exploités dans des attaques virtuelles. Donc, utilisez cette pointe uniquement dans l’environnement de test.

Erreur Magento sur l’écran

Un autre avantage de cacher le message sur l’écran et de générer un fichier journal est que lorsqu’un client rencontre une erreur, le défaut est enregistré dans le répertoire des erreurs et vous prenez connaissance de l’échec. Sinon, vous ne savez jamais que votre client a rencontré un problème lors de la navigation – ne saurait que s’il est entré en contact.

La norme (error log record number) ne permet pas de naviguer et de guider l’utilisateur sans savoir ce qui s’est passé et comment procéder. Dans ce cas, il est intéressant de personnaliser cette page, en encourageant le client à contacter et à informer ce qui a causé le problème (écran/action).

Activation du mode développeur

Voyons comment arrêter le système de générer des fichiers journaux et afficher des erreurs dans le navigateur. Pour ce faire, ouvrez le fichier index.php.

Dans les anciennes versions, il suffirait de supprimer le signal # du mot:

#Mage::setIsDeveloperMode(true);

Dans les versions les plus récentes, un conditionnel a été ajouté. Cela signifie que vous pouvez configurer une variable pour activer ce mode développeur, ou simplement supprimer (commentaire) le conditionnel (if) et enregistrez le fichier.

if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) {
    Mage::setIsDeveloperMode(true);
}

Pour définir une valeur pour cette variable, ouvrez le fichier .htaccess de votre serveur et ajoutez ce qui suit:

SetEnv MAGE_IS_DEVELOPER_MODE "127.0.0.1"

Se souvenant que cela ne devrait être fait que dans votre environnement de test. Et toute valeur peut être donnée à la variable, dans cet exemple j’ai utilisé “127.0.0.1“.

Surveillance des erreurs de messagerie

Beaucoup de gens ne le savent pas, mais chaque fois qu’une erreur se produit dans le système, vous pouvez être alerté par courrier électronique. Soyez donc très prudent lorsque vous utilisez cette option car votre courriel peut être inondé de messages d’erreur.

Dans votre installation Magento, voir le fichier:

erros > local.xml.sample
Jusqu'à la version 1.3.x serait le dossier reports/config.xml

Effectuez une copie de ce fichier et renommez-le sur local.xml, avec les paramètres suivants:


    default
    
        email
        Il y a eu une erreur de magasin
        su_email@su_domain.fr
        leave
    

Maintenant, chaque fois qu'une erreur survient, le système enverra automatiquement un courrier électronique à l'adresse saisie dans le fichier. Et un écran avec formulaire de contact sera affiché à l'utilisateur afin qu'il puisse fournir plus d'informations sur l'échec.

Signaler une erreur

En remplissant et en envoyant le formulaire, vous recevez un deuxième courrier électronique concernant l'échec. Cela peut vous aider à simuler le problème dans un environnement de test/développement.

J'espère que ces conseils vous aideront à rendre votre travail plus productif. Lisez également la publication: Modules incompatibles, où je cite les principales causes de problèmes dans Magento.

Succès!

L'auteur

Mario SAM

En attendant qu'une opportunité se présente de m'installer en France, je continue d'aider à distance.