Je suis sur le point de lancer un site Web assez grand pour la première fois. J'ai désactivé tous les messages d'erreur dans mes messages php.ini et d'erreur sont maintenant connectés à un fichier "error_log" sur mon serveur. P>
Ma question est que les erreurs sont connectées à un fichier, Pour le moment, il semble que la meilleure façon soit de vérifier constamment le fichier error_log tous les jours, mais cela ne semble pas être la solution la plus efficace. Idéalement, je recevrais un email chaque fois qu'une erreur se produit (avec le message d'erreur). Des conseils sur la façon dont je puisse continuer sur les erreurs seraient grandement appréciés! P>
info supplémentaire em>
Exécution sur le serveur partagé (Hostmonster)
Site Web auteur de PHP P>
5 Réponses :
Vous pouvez vous envoyer un email sur des erreurs, s'il n'y avait pas de courrier électronique dans les n heures dernière. P>
L'endroit où j'ai déjà travaillé auparavant d'une extension personnalisée pour gérer la journalisation des erreurs. Il s'agit fondamentalement Je vous recommande de ne pas écrire une extension personnalisée, mais que vous utilisez la méthode Si vous voulez, vous pouvez également vous envoyer des résumés horaires, mais je ne vous suggère pas d'envoyer quelque chose de plus que cela ou vous vous haïr. P> insérer le délai code> les erreurs dans une DB avec quelques informations supplémentaires. Ensuite, un outil d'administrateur distinct a été écrit pour pouvoir rechercher facilement, parcourir, trayez et pruneaux manuellement la table de journaux. P>
set_error_handler code> et écrivez simplement à un dB à la place. Si le DB est indisponible, écrivez-en dans un fichier comme sauvegarde. Il sera plus facile des mondes que de traiter un fichier énorme et un format unique. P>
Un point à noter ici est que Set_error_Handler () ne gère pas tous les types d'erreur (à partir de PHP.NET): Les types d'erreur suivants ne peuvent pas être traités avec une fonction définie par l'utilisateur: e_error, e_parse, e_core_error, e_core_warning, e_compile_error, e_compile_error, e_compile_warning, etc. La plupart de E_STRICT relevés dans le fichier où Set_error_handler () est appelé.
Vouleurs de signaler des erreurs sur le mécanisme de déclaration d'erreur cassée est un type de paradoxal, n'est-ce pas?
Si vous ne vous attendez pas à de nombreuses erreurs, un flux RSS / Atom privé pourrait bien fonctionner ... Vous n'avez pas besoin de vous inquiéter si vous n'obtenez rien ... mais si vous commencez à obtenir " mises à jour "Vous savez qu'il y a des problèmes. P>
Il y a deux fonctions principales dans PHP qui aident à attraper des erreurs et des exceptions. Je vous suggère de les regarder: P>
Dans notre société, nous traitons toutes les erreurs qui se produisent sur nos sites Web avec ces fonctions, définissant nos propres erreurs et nos exceptions de manutention. p>
Lorsqu'une erreur se produit, un email est envoyé à l'équipe des développeurs. P>
Merci maxiwheat. Si je dois faire cette route, alors sur chaque script PHP, je devrai inclure mon gestionnaire d'erreur personnalisé, non?
Oui, ce gestionnaire personnalisé doit être inclus dans chaque script. Si vous ne voulez pas de déranger, vous pouvez l'utiliser dans un fichier de préparation automatique, plus d'informations ici: php.net/manual/fr/ini.core.php
Je ne sais pas comment Hostmonster gère la rotation du journal, mais vous souhaitez généralement surveiller la taille la taille i> de votre fichier error_log. Si la taille saute soudainement, vous devez définitivement quelque chose que vous devez vérifier pour que vous souhaitiez obtenir un email vous indiquant que la taille du logfile a sauté de manière inattendue. P>
Autre que cela, vous pouvez combiner les journaux d'erreur à la fin de la semaine et les envoyer par courrier électronique à vous-même et déboguer le week-end. Si une erreur ne se produise que quelques fois par semaine, ce n'est probablement pas trop i> sérieux d'un problème. P>