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ètres | Valeur par défaut | Description | Plage modifiable |
---|---|---|---|
error_reporting | NULL | Dé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_string | NULL | Le contenu affiché avant le message d'erreur. | PHP_INI_ALL |
error_append_string | NULL | Le contenu affiché après le message d'erreur. | PHP_INI_ALL |
error_log | NULL | Dé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.
Fonction | Description | PHP |
---|
函数 | 描述 | 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 |
Erreur PHP et constantes de journalisation
PHP : Indique la première version de PHP qui prend en charge cette constante.
valeur | Constante | Description | PHP | < /tr>||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | E_ERROR | Erreur d'exécution fatale. Erreurs irréparables. Arrêtez d'exécuter le script. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2 | E_WARNING | Une erreur non fatale lors de l'exécution. L'exécution du script n'est pas arrêtée. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4 | E_PARSE | Erreur d'analyse lors de la compilation. Les erreurs d'analyse ne doivent être générées que par l'analyseur. | <🎜> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
8 | E_NOTICE | Notification 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. | <🎜> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
16 | E_CORE_ERROR | Erreur fatale au démarrage de PHP. C'est exactement comme E_ERROR du noyau PHP. | 4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
32 | E_CORE_WARNING | Erreur non fatale au démarrage de PHP. C'est exactement comme E_WARNING du noyau PHP. | 4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
64 | E_COMPILE_ERROR | Erreur fatale lors de la compilation. C'est exactement comme le E_ERROR généré par le moteur de script Zend. | 4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
128 | E_COMPILE_WARNING | Erreur non fatale lors de la compilation. C'est comme un E_WARNING généré par le moteur de script Zend. | 4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
256 | E_USER_ERROR | Erreur 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
512 | E_USER_WARNING | Erreur 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1024 | E_USER_NOTICE | Notification 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2048 | E_STRICT | Notification d'exécution. PHP vous recommande d'apporter des modifications à votre code pour améliorer l'interopérabilité et la compatibilité du code. | 5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4096 | E_RECOVERABLE_ERROR | Erreur 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
6143 | E_ALL | Tous 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 |