Maison >développement back-end >Problème PHP >Comment configurer le journal des erreurs dans php.ini

Comment configurer le journal des erreurs dans php.ini

藏色散人
藏色散人original
2021-07-16 09:19:292588parcourir

Comment configurer le journal des erreurs dans php.ini : 1. Ouvrez le fichier de configuration php.ini et modifiez "display_errors = On" ; 2. Enregistrez dans le fichier spécifié par error_log ; 3. Définissez "error_reporting".

Comment configurer le journal des erreurs dans php.ini

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3

Comment configurer le journal des erreurs dans php.ini ?

Configuration php.ini - Enregistrer le journal des erreurs PHP

Éléments de configuration pour le journal des erreurs dans PHP.ini :

 ; display_errors
 ; Valeur de production : Off

 ; display_startup_errors
 ; Valeur par défaut : Off ; Valeur de développement : On
 ; Valeur par défaut : E_ALL & ~E_NOTICE
 ; ; Valeur de production : E_ALL & ~E_DEPRECATED

 ; html_errors ; Valeur par défaut : On
 ; Valeur de développement : Off

 ; Valeur de production : On
display_errors = Off



error_reporting = E_ALL & ~E_NOTICE


log_errors = On

error_log = "e:/wamp/logs/ php_error.log"


1.) display_errors = On


Si une erreur se produit, une erreur sera signalée et un message d'erreur apparaîtra

dispaly_errors = Off

Si une erreur se produit, un message d'erreur apparaîtra : Erreur du serveur. Mais aucun message d'erreur n'apparaîtra

L'écho d'erreur est couramment utilisé en mode développement, mais de nombreuses applications oublient de désactiver cette option dans l'environnement officiel. L'écho d'erreur peut exposer de nombreuses informations sensibles, ce qui facilite la prochaine attaque de l'attaquant. Il est recommandé de désactivercette option après s'être connecté.
2.) log_errors
Utilisez-le simplement dans un environnement formel et enregistrez les informations d'erreur dans le journal. Juste à temps pour désactiver l'écho d'erreur.

Par défaut, il est enregistré dans le fichier journal du serveur WEB, comme le fichier error.log d'Apache. Bien sûr, vous pouvez également vous connecter au fichier spécifié par error_log .

3)error_reporting

error_reporting = E_ALL & ~E_NOTICE

Référence : http://hi.baidu.com/allense7en/item /6eb4a4ab0d596a15a8cfb7b4

peutadditionner les chiffres pour obtenir le niveau de rapport d'erreurs souhaité.

E_ALL - toutes les erreurs et avertissements (sauf E_STRICT)
E_ERROR - erreurs d'exécution fatales
E_WARNING - avertissements d'exécution (erreurs non fatales)
E_PARSE - erreurs d'analyse au moment de la compilation
E_NOTICE - rappels d'exécution (ceux-ci sont souvent causés par bogues dans votre code, mais peuvent également être causés par un comportement intentionnel.)
E_STRICT - Avertissements de standardisation du codage, permettant à PHP de recommander comment modifier le code pour garantir une interopérabilité et une compatibilité ascendante optimales.

E_CORE_ERROR - Erreur fatale lors du processus d'initialisation du démarrage de PHP
E_CORE_WARNING - Avertissement lors du processus d'initialisation du démarrage de PHP (erreur non fatale)
E_COMPILE_ERROR - Erreur fatale au moment de la compilation
E_COMPILE_WARNING - Avertissement lors de la compilation (erreur non fatale) Faux)
E_USER_ERROR - Message d'erreur défini par l'utilisateur
E_USER_WARNING - Message d'avertissement défini par l'utilisateur
E_USER_NOTICE - Message de rappel défini par l'utilisateur Si défini sur : E_ALL | E_STRICT, cela signifie enregistrer tous les messages d'erreur

, possible Cela provoquera beaucoup de des codes d'erreur apparaissent sur le site Web, mais il faut dire que c'est une bonne chose pour les programmeurs, qui peuvent optimiser au mieux le code. Bien que certaines erreurs non fatales n'affectent pas le fonctionnement du programme, elles augmenteront la charge. sur PHP augmente généralement la charge sur le processus du site Web (comme le pool d'applications de

IIS).

Cette fonction est utilisée pour configurer le niveau de rapport des messages d'erreur. Le paramètre niveau est un masque de bits entier, voir le tableau ci-dessous.

La valeur du masque représente le nom
1 E_ERROR
2 E_WARNING
4 E_PARSE
8 E_NOTICE
16 E_CORE_ERROR
32 E_CORE_WARNING
64 E_COMPILE_ERROR
128 E_COMPILE_WARNING
256 E_USER_ERROR
512 E_USER_WARNING
1024 E_USER_NOTICE
2047 E_ALL
2048 E_STRICT

E_NOTICE signifie que la situation normale n'est pas enregistrée et n'est utilisée que lorsque le programme a une erreur, comme essayer d'accéder à une variable inexistante ou appeler la fonction stat() pour afficher un fichier inexistant.
E_WARNING est généralement affiché, mais n'interrompt pas l'exécution du programme. Ceci est utile pour le débogage. Par exemple : appeler ereg() avec l'expression régulière en question.
E_ERROR est généralement affiché et interrompra l'exécution du programme. Cela signifie que la configuration de la mémoire ou d'autres erreurs ne peuvent pas être tracées à l'aide de ce masque.
E_PARSE analyse les erreurs de grammaire.
E_CORE_ERROR Similaire à E_ERROR, mais n'inclut pas les erreurs causées par le noyau PHP.
E_CORE_WARNING Similaire à E_WARNING, mais n'inclut pas les avertissements d'erreur de base PHP.
error_reporting( 7 ) = error_reporting( 1+2+4) = error_reporting(E_ERROR | E_WARING | E_PARSE)

Exemple

N'importe quel nombre des options ci-dessus peut être connecté avec "OR" (utilisez OR ou |), qui signale toutes les erreurs requises à tous les niveaux. Par exemple, le code suivant désactive les erreurs et les avertissements définis par l'utilisateur, effectue certaines opérations, puis revient au niveau d'erreur d'origine :

<?php
//禁用错误报告
error_reporting(0);

//报告运行时错误
error_reporting(E_ERROR | E_WARNING | E_PARSE);

//报告所有错误
error_reporting(E_ALL);
?>

Apprentissage recommandé : "Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn