Comment inclure les OBTENIR & publier des données en PHP error log
Est-il un moyen d'avoir PHP
enregistrer les erreurs dans un fichier ou m'envoyer un email erreurs INCLUDING $_POST[]
& $_GET[]
et $_SERVER[]
données?
Droit maintenant, je reçois un journal de PHP FATAL
et WARNING
erreurs et 404 NOT_FOUND
erreurs, mais il est difficile de débogage des erreurs sans le savoir des choses comme la saisie de l'utilisateur et le référent.
Grâce
- Utiliser un gestionnaire d'erreur personnalisé et error_log.
Vous devez vous connecter pour publier un commentaire.
Placez-la dans un gestionnaire d'erreur personnalisé et il va connecter à la fois pour vous (le "vrai" paramètre rend print_r renvoyer le texte au lieu de le reproduire).
Vous pourriez avoir besoin pour stimuler la max la longueur de la ligne dans le journal des erreurs avec
log_errors_max_len
, comme la valeur par défaut est de 1024 caractères et sera tronquée, tout ce qui suit (il ne split >1024 char de données sur plusieurs lignes).Si vous utilisez PHP 5 créer une classe d'exception personnalisée qui sera prolonger le natif de PHP Exception de la classe et ajouter tout ce que la collecte de données /méthodes de journalisation vous le souhaitez. De cette façon, vous pouvez facilement combiner
try {} catch() {}
bloc avec les Exceptions et disposez de votre propre moyen de contrôler la façon dont vous voulez enregistrer toutes les données.Je recommanderais le error_log() fonction. J'ai utiliser beaucoup de déboguer des trucs en php.
http://php.net/manual/en/function.error-log.php
J'ai travaillé sur un projet de télécommunication utilisé CI pour gérer un Felx base de frontend, nous avons détourné tous les possibles rapports d'erreurs et a écrit un wrapper sur syslog fonctions et l'a utilisé dans notre application, le résultat a été que nous pourrions journal de toutes les données que nous voulions et le journal a été visible à travers journal système de l'observateur d' 🙂