Erreur PHP



Introduction aux erreurs et journalisation PHP

Les fonctions d'erreur et de journalisation vous permettent de gérer et de journaliser les erreurs. La fonction

Erreur permet aux utilisateurs de définir des règles de gestion des erreurs et de modifier la façon dont les erreurs sont journalisées.

La fonction de journalisation permet aux utilisateurs de consigner des applications et d'envoyer des messages de journal par courrier électronique, dans les journaux système ou à d'autres machines.


Configuration d'exécution

La fonction d'erreur est affectée par le fichier de configuration php.ini.

Options de configuration des erreurs et des journaux :

ParamètresValeur par défautDescriptionPlage modifiable
error_reporting NULLDéfinissez le niveau d'erreur de PHP et renvoyez le niveau actuel (nombre ou constante). PHP_INI_ALL
display_errors"1" Cette option définit si les messages d'erreur sont affichés à l'écran dans le cadre de la sortie ou masqués à l'utilisateur.
Remarque : N'utilisez pas cette fonctionnalité dans l'environnement de production (utilisée lors du développement et des tests)
PHP_INI_ALL
display_startup_errors "0"Même si display_errors est activé, les messages d'erreur lors du démarrage de PHP ne seront pas affichés. Il est fortement recommandé de désactiver display_startup_errors, sauf à des fins de débogage. PHP_INI_ALL
log_errors"0"Définir s'il faut enregistrer les informations d'erreur du script en cours d'exécution dans le journal des erreurs du serveur ou error_log parmi. Notez qu'il s'agit d'un élément de configuration spécifique au serveur. PHP_INI_ALL
log_errors_max_len"1024"Définissez le nombre maximum d'octets de log_errors La source d'erreur sera ajoutée. aux informations error_log. La valeur par défaut est 1024. Si la valeur est 0, il n'y a aucune limite à la longueur. Ce paramètre de longueur limite les erreurs enregistrées, les erreurs affichées et $php_errormsg. PHP_INI_ALL
ignore_repeated_errors"0"Ne pas enregistrer les informations répétées. Des erreurs répétées doivent se produire sur la même ligne de code dans le même fichier, sauf si ignore_repeated_source est défini sur true. PHP_INI_ALL
ignore_repeated_source"0"Lorsque vous ignorez les messages répétés, la source du message est également ignorée. Lorsque ce paramètre est activé, les messages en double n'enregistreront pas s'ils ont été générés par des fichiers différents ou des lignes différentes de code source. PHP_INI_ALL
report_memleaks"1"Si ce paramètre est défini sur Off, les informations de fuite de mémoire ne seront pas affichées (dans la sortie standard ou dans le journal). PHP_INI_ALL
track_errors"0"Si activé, la dernière erreur existera toujours dans la variable $php_errormsg . PHP_INI_ALL
html_errors"1"Fermez la balise HTML dans le message d'erreur. PHP_INI_ALL
PHP_INI_SYSTEM en PHP <= 4.2.3.
xmlrpc_errors"0"Ferme normalement rapport d'erreur et formatez l'erreur au format de message d'erreur XML-RPC. PHP_INI_SYSTEM
xmlrpc_error_number"0" est utilisé comme valeur de l'élément XML-RPC errorCode. PHP_INI_ALL
docref_root""Le nouveau format de message d'erreur contient la page de référence correspondante, qui est une page de référence pour l'erreur Fournissez une description spécifique ou décrivez la fonction qui a provoqué l'erreur.
Afin de fournir des pages de manuel, vous pouvez télécharger le manuel de langue correspondant depuis le site officiel de PHP et définir l'URL dans l'ini sur l'adresse locale correspondante.
Si votre copie locale du manuel est accessible à l'aide de "/manual/", vous pouvez simplement définir docref_root=/manual/.
De plus, vous devez également définir docref_ext pour qu'il corresponde au suffixe de votre fichier local docref_ext=.html. Bien entendu, vous pouvez également définir une adresse de référence externe.
Par exemple, vous pouvez définir docref_root=http://manual/en/ ou docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon &url=http%3A%2F%2Fwww.php.net%2F "
PHP_INI_ALL
docref_ext""Voir docref_root.PHP_INI_ALL
error_prepend_stringNULLLe contenu affiché avant le message d'erreur. PHP_INI_ALL
error_append_stringNULLLe contenu affiché après le message d'erreur. PHP_INI_ALL
error_logNULLDéfinit le fichier dans lequel les erreurs de script seront enregistrées. Le fichier doit être accessible en écriture par l'utilisateur du serveur Web. PHP_INI_ALL

Installation

Les fonctions d'erreur et de journalisation font partie du noyau PHP. Aucune installation n'est requise pour utiliser ces fonctions.


Fonctions d'erreur et de journalisation PHP

PHP : Indique la première version de PHP prenant en charge cette fonction.

FonctionDescriptionPHP
函数描述PHP
debug_backtrace()生成 backtrace。4
debug_print_backtrace()打印 backtrace。5
error_get_last()获得最后发生的错误。5
error_log()向服务器错误记录、文件或远程目标发送一个错误。4
error_reporting()规定报告哪个错误。4
restore_error_handler()恢复之前的错误处理程序。4
restore_exception_handler()恢复之前的异常处理程序。5
set_error_handler()设置用户自定义的错误处理函数。4
set_exception_handler()设置用户自定义的异常处理函数。5
trigger_error()创建用户自定义的错误消息。4
user_error()trigger_error() 的别名。4
<🎜><🎜>debug_backtrace()<🎜><🎜>Générer une trace arrière . <🎜><🎜>4<🎜><🎜><🎜><🎜>debug_print_backtrace()<🎜><🎜>Imprimer la trace. <🎜><🎜>5<🎜><🎜><🎜><🎜>error_get_last()<🎜><🎜>Obtenir la dernière erreur survenue. <🎜><🎜>5<🎜><🎜><🎜><🎜>error_log()<🎜><🎜>Envoyer une erreur au journal des erreurs du serveur, au fichier ou à la cible distante. <🎜><🎜>4<🎜><🎜><🎜><🎜>error_reporting()<🎜><🎜>Spécifie quelle erreur signaler. <🎜><🎜>4<🎜><🎜><🎜><🎜>restore_error_handler()<🎜><🎜>Restaurer le gestionnaire d'erreurs précédent. <🎜><🎜>4<🎜><🎜><🎜><🎜>restore_exception_handler()<🎜><🎜>Restaurer le gestionnaire d'exceptions précédent. <🎜><🎜>5<🎜><🎜><🎜><🎜>set_error_handler()<🎜><🎜>Définir la fonction de gestion des erreurs définie par l'utilisateur. <🎜><🎜>4<🎜><🎜><🎜><🎜>set_exception_handler()<🎜><🎜>Définissez une fonction de gestion des exceptions définie par l'utilisateur. <🎜><🎜>5<🎜><🎜><🎜><🎜>trigger_error()<🎜><🎜>Créez un message d'erreur défini par l'utilisateur. <🎜><🎜>4<🎜><🎜><🎜><🎜>user_error()<🎜><🎜>Un alias pour trigger_error(). <🎜><🎜>4<🎜><🎜><🎜><🎜>

Erreur PHP et constantes de journalisation

PHP : Indique la première version de PHP qui prend en charge cette constante.

< /tr>
valeurConstanteDescriptionPHP
1E_ERROR Erreur d'exécution fatale. Erreurs irréparables. Arrêtez d'exécuter le script.
常量描述PHP
1E_ERROR运行时致命的错误。不能修复的错误。停止执行脚本。
2E_WARNING运行时非致命的错误。没有停止执行脚本。
4E_PARSE编译时的解析错误。解析错误应该只由解析器生成。
8E_NOTICE运行时的通知。脚本发现可能是一个错误,但也可能在正常运行脚本时发生。
16E_CORE_ERRORPHP 启动时的致命错误。这就如同 PHP 核心的 E_ERROR。4
32E_CORE_WARNINGPHP 启动时的非致命错误。这就如同 PHP 核心的 E_WARNING。4
64E_COMPILE_ERROR编译时致命的错误。这就如同由 Zend 脚本引擎生成的 E_ERROR。4
128E_COMPILE_WARNING编译时非致命的错误。这就如同由 Zend 脚本引擎生成的 E_WARNING。4
256E_USER_ERROR用户生成的致命错误。这就如同由程序员使用 PHP 函数 trigger_error() 生成的 E_ERROR。4
512E_USER_WARNING用户生成的非致命错误。这就如同由程序员使用 PHP 函数 trigger_error() 生成的 E_WARNING。4
1024E_USER_NOTICE用户生成的通知。这就如同由程序员使用 PHP 函数 trigger_error() 生成的 E_NOTICE。4
2048E_STRICT运行时的通知。PHP 建议您改变代码,以提高代码的互用性和兼容性。5
4096E_RECOVERABLE_ERROR可捕获的致命错误。这就如同一个可以由用户定义的句柄捕获的 E_ERROR(见 set_error_handler())。5
6143E_ALL所有的错误和警告的级别,除了 E_STRICT(自 PHP 6.0 起,E_STRICT 将作为 E_ALL的一部分)。5
2E_WARNINGUne erreur non fatale lors de l'exécution. L'exécution du script n'est pas arrêtée.
4E_PARSEErreur d'analyse lors de la compilation. Les erreurs d'analyse ne doivent être générées que par l'analyseur. <🎜>
8E_NOTICENotification d'exécution. La découverte de scripts peut être un bug, mais peut également se produire lors de l'exécution normale d'un script. <🎜>
16E_CORE_ERRORErreur fatale au démarrage de PHP. C'est exactement comme E_ERROR du noyau PHP. 4
32E_CORE_WARNINGErreur non fatale au démarrage de PHP. C'est exactement comme E_WARNING du noyau PHP. 4
64E_COMPILE_ERRORErreur fatale lors de la compilation. C'est exactement comme le E_ERROR généré par le moteur de script Zend. 4
128E_COMPILE_WARNINGErreur non fatale lors de la compilation. C'est comme un E_WARNING généré par le moteur de script Zend. 4
256E_USER_ERRORErreur fatale générée par l'utilisateur. C'est comme le E_ERROR généré par le programmeur à l'aide de la fonction PHP trigger_error(). 4
512E_USER_WARNINGErreur non fatale générée par l'utilisateur. C'est comme un E_WARNING généré par le programmeur à l'aide de la fonction PHP trigger_error(). 4
1024E_USER_NOTICENotification générée par l'utilisateur. C'est comme le E_NOTICE généré par le programmeur à l'aide de la fonction PHP trigger_error(). 4
2048E_STRICTNotification d'exécution. PHP vous recommande d'apporter des modifications à votre code pour améliorer l'interopérabilité et la compatibilité du code. 5
4096E_RECOVERABLE_ERRORErreur fatale capturable. C'est comme un E_ERROR qui peut être intercepté par un handle défini par l'utilisateur (voir set_error_handler()). 5
6143E_ALLTous les niveaux d'erreur et d'avertissement sauf E_STRICT (depuis le démarrage de PHP 6.0, E_STRICT fera partie de E_ALL). 5
<🎜>