Est-il possible d'envoyer un e-mail automatique contenant des détails sur la page demandée au webmaster lorsqu'un visiteur rencontre une page d'erreur de 500 serveurs internes?
De cette façon, le webmaster pourrait agir plus rapidement pour résoudre le problème. Il s'agit d'une question générale, de sorte que la plateforme utilisée n'est pas pertinente.
email
error-reporting
http-code-500
Tony Bolero
la source
la source
Réponses:
Oui c'est possible. Vous avez juste besoin de vérifier si le serveur Web est IIS ou Apache, puis vous pouvez le configurer pour afficher une page personnalisée (qui contiendra le code pour capturer les détails que vous voulez de l'utilisateur et vous les envoyer par e-mail) chaque fois qu'un 500 une erreur s'est produite.
Pour Apache, par exemple, c'est vraiment simple. Créez simplement (ou ajoutez s'il en existe un)
.htaccess
et utilisez la règle suivante pour configurer votre document d'erreur personnalisé:la source
L'envoi d'un courrier avec chaque erreur, via une page d'erreur personnalisée, peut ne pas fonctionner si le problème est lié à PHP: votre page personnalisée peut ne pas fonctionner non plus, le courrier ne sort donc pas. Vous recevrez également un e-mail par erreur, ce qui pourrait être un déluge.
Je suggère plutôt d'implémenter une forme d'analyse des journaux: demandez à un travail cron (ou à une tâche planifiée sous Windows) d'analyser les fichiers journaux chaque jour ou toutes les quelques heures et d'envoyer un résumé de tout ce qui a été trouvé depuis la dernière vérification à l'administrateur concerné (s). Vous pouvez également faire en sorte que votre script de vérification des journaux fasse quelques autres choses, comme vous assurer que le service de serveur Web (et tous les services de base de données, etc.) est en cours d'exécution, ne serait-ce que pour la paranoïa. Si rien d'autre, un e-mail par période de rapport peut couvrir d'autres codes d'erreur HTTP (401, 404, ...) et d'autres éléments trouvés dans les journaux. Si vous faites cela, envoyez toujours l'e-mail même si rien ne va : de cette façon, vous savez si votre script de numérisation n'a pas pu s'exécuter parce que vous arrêtez de recevoir des messages (sinon aucun message ne pourrait signifier que tout va bien ou la machine de rapport des dommages est endommagée).
la source
Oui, envoyez un e-mail pour chaque erreur. C'est aussi une bonne idée d'envoyer autant d'informations que possible dans le cadre de l'e-mail. Pensez à saisir:
Cela aide grandement à des fins de débogage. Il est trivial d'obtenir ces informations dans ASP et ASP.NET classiques via les objets Request et Session.
N'ayez tout simplement pas d'erreur sur votre page d'erreur personnalisée, ou vous allez faire paniquer le serveur Web.
la source
Oui, très possible. À l'exception des e-mails, vous pouvez également consulter le journal du serveur Web.
Je suggère de ne pas envoyer d'e-mail sur chaque 500, sinon s'il y a un bug, votre boîte aux lettres sera inondée. Enregistrez simplement l'ID d'erreur, envoyez 1 pour la même erreur sur le même ID.
la source
Vous pouvez ajouter un iframe qui charge un php depuis un autre serveur, puis votre page d'erreur enverra toujours des mails.
la source