Comment définir le niveau d'erreur en PHP ?

怪我咯
Libérer: 2023-03-07 17:08:01
original
6918 Les gens l'ont consulté

Dans le développement de notre programme, nous rencontrons souvent des erreurs d'exécution de programme. PHP donnera différentes invites en fonction du niveau d'erreur du programme. Par exemple, des avertissements, des erreurs, etc., mais ces erreurs peuvent être définies. S'il ne s'agit que de petites erreurs, nous pouvons empêcher que ces erreurs soient signalées. Cela nécessite l'utilisation de la façon de définir le niveau d'erreur de PHP comme expliqué dans ce chapitre.

En PHP, il existe deux façons de définir le niveau d'erreur :

La première : Après avoir défini error_reporting de cette manière, redémarrez le serveur Web et cela prendra effet permanent.

Ici, nous prenons comme exemple le progiciel intégré xampp. Ouvrez le fichier de configuration php.ini et vérifiez la valeur par défaut du niveau de rapport d'erreurs error_reporting, comme suit :

error_reporting=E_ALL & ~ E_DEPRECATED & ~E_STRICT

signifie signaler toutes les erreurs sauf E_DEPRECATED et E_STRICT.

Modifiez-le en :

error_reporting=E_ALL & ~E_NOTICE


Cela signifie signaler toutes les erreurs sauf E_NOTICE. Il s'agit également du niveau de rapport d'erreurs le plus couramment utilisé. Il ne signalera pas les erreurs de la classe attention (comme l'utilisation d'une variable non définie).

Enregistrez et cela prendra effet après le redémarrage du serveur Web.

Deuxièmement : définissez le niveau de rapport d'erreur via la fonction error_reporting(). Après avoir défini de cette manière, cela peut prendre effet immédiatement. Mais seulement dans la zone derrière l’appel de fonction error_reporting() dans le script actuel. La syntaxe de la fonction

error_reporting() est la suivante :

int error_reporting ([ int $level ] )
Copier après la connexion
Le paramètre

level spécifie le niveau de l'erreur. S'il n'est pas défini, le niveau d'erreur actuel sera. est revenu. Vous trouverez ci-dessous les valeurs données pour le paramètre level.

valeurConstanteDescription
1E_ERRORRapporte une erreur fatale qui provoque le script pour terminer Erreur

2 E_WARNINGSignaler les erreurs d'avertissement pendant l'exécution (le script ne terminera pas l'exécution)
4E_PARSERapporter les erreurs d'analyse de syntaxe au moment de la compilation< /td>< /tr>
8E_NOTICESignaler les erreurs de notification, les scripts peuvent générer des erreurs
16E_CORE_ERRORErreur fatale lors du processus d'initialisation au démarrage de PHP.
32E_CORE_WARNINGAvertissement (erreur non fatale) lors du processus d'initialisation au démarrage de PHP.
64E_COMPILE_ERRORErreur fatale à la compilation. C'est comme un E_ERROR généré par le moteur de script Zend.
128E_COMPILE_WARNINGAvertissement lors de la compilation (erreur non fatale). C'est comme un avertissement E_WARNING généré par le moteur de script Zend.
256E_USER_ERRORMessage d'avertissement défini par l'utilisateur. C'est comme utiliser la fonction PHP trigger_error (un avertissement E_WARNING défini par le programmeur)
512 E_USER_WARNINGMessage d'avertissement défini par l'utilisateur. C'est comme utiliser la fonction PHP trigger_error (un avertissement E_WARNING défini par le programmeur)
1024E_USER_NOTICEMessage d'avertissement défini par l'utilisateur. C'est comme utiliser la fonction PHP trigger_error (un avertissement E_WARNING défini par le programmeur)
2048E_STRICTAvertissement de normalisation d'encodage. Permet à PHP de suggérer comment modifier le code pour garantir une interopérabilité et une compatibilité ascendante optimales.
4096E_RECOVERABLE_ERRORCapturez l'erreur fatale. Ceci est comme un E_ERROR, mais peut être détecté via un gestionnaire défini par l'utilisateur (voir aussi set_error_handler())
8191 E_ALLToutes les erreurs et avertissements (sauf E_STRICT) (E_STRICT fera partie de E_ALL à partir de PHP 6.0)

Comment définir le niveau derreur en PHP ? 任意数目的以上选项都可以用“或”来连接(用 OR 或 |),这样可以报告所有需要的各级别错误。

例子:

下面的代码关闭了用户自定义的错误和警告,执行了某些操作,然后恢复到原始的报错级别:

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

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

//报告所有错误
error_reporting(E_ALL);
?>
Copier après la connexion

一个简单的例子是:

error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

他表示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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal