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 : 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".
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"
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)
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!