Maison  >  Article  >  développement back-end  >  Comment définir le niveau d'erreur en PHP ?

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

怪我咯
怪我咯original
2017-04-28 16:11:496916parcourir

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 ] )
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.

valeur Constante Description
1 E_ERROR Rapporte une erreur fatale qui provoque le script pour terminer Erreur

2 E_WARNING Signaler les erreurs d'avertissement pendant l'exécution (le script ne terminera pas l'exécution)
4 E_PARSE Rapporter les erreurs d'analyse de syntaxe au moment de la compilation
8 E_NOTICE Signaler les erreurs de notification, les scripts peuvent générer des erreurs
16 E_CORE_ERROR Erreur fatale lors du processus d'initialisation au démarrage de PHP.
32 E_CORE_WARNING Avertissement (erreur non fatale) lors du processus d'initialisation au démarrage de PHP.
64 E_COMPILE_ERROR Erreur fatale à la compilation. C'est comme un E_ERROR généré par le moteur de script Zend.
128 E_COMPILE_WARNING Avertissement lors de la compilation (erreur non fatale). C'est comme un avertissement E_WARNING généré par le moteur de script Zend.
256 E_USER_ERROR Message 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_WARNING Message 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)
1024 E_USER_NOTICE Message 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)
2048 E_STRICT Avertissement de normalisation d'encodage. Permet à PHP de suggérer comment modifier le code pour garantir une interopérabilité et une compatibilité ascendante optimales.
4096 E_RECOVERABLE_ERROR Capturez 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_ALL Toutes 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);
?>

一个简单的例子是:

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!

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