Maison  >  Article  >  développement back-end  >  Comment afficher le niveau d'erreur en php

Comment afficher le niveau d'erreur en php

青灯夜游
青灯夜游original
2021-05-31 18:28:492149parcourir

Comment afficher le niveau d'erreur en php : recherchez et ouvrez d'abord le fichier de configuration php.ini ; puis définissez la valeur de l'élément "error_reporting" sur "E_ALL", définissez la valeur de l'élément "display_errors". sur "On" ; enregistrez enfin le fichier Just.

Comment afficher le niveau d'erreur en php

L'environnement d'exploitation de ce tutoriel : système windows7, version PHP7.1, ordinateur DELL G3

Attention : Ne jamais utiliser dans environnement de production Afficher les messages d'erreur !

Display_errors et error_reporting sont deux choses différentes. Lorsqu'une erreur se produit dans un script PHP, vous pouvez choisir de signaler l'erreur (l'enregistrer dans le journal des erreurs) en fonction des paramètres. Si display_errors est activé dans les paramètres, le message d'erreur sera imprimé à l'écran. en même temps.

Activer et définir le niveau d'affichage dans le code

Fonction ini_set()

Pour PHP , diverses instructions peuvent être définies via le fichier php.ini. Mais parfois, vous devez définir des instructions lorsque le script est en cours d'exécution, vous avez alors besoin de la fonction ini_set().

string ini_set ( string $varname , string $newvalue )

Définissez la valeur de l'option de configuration spécifiée. Cette option conservera sa nouvelle valeur pendant l'exécution du script et sera restaurée à la fin du script.

Par exemple :

ini_set('error_reporting', E_ALL);
ini_set('display_errors', 'on');

la fonction error_reporting()

error_reporting() peut définir la directive error_reporting au moment de l'exécution. PHP a de nombreux niveaux d'erreur. Utilisez cette fonction pour définir le niveau lorsque le script est en cours d'exécution. Si l'argument facultatif n'est pas défini, error_reporting() renvoie le niveau actuel de rapport d'erreurs.

La valeur par défaut pour PHP7.2 est E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED.

Pendant le développement, il est recommandé d'activer E_NOTICE pour afficher plus d'erreurs possibles.

<?php

// 关闭所有PHP错误报告,相当于 ini_set(&#39;error_reporting&#39;, 0);
error_reporting(0);

error_reporting(E_ERROR | E_WARNING | E_PARSE);

// 报告 E_NOTICE  (报告未初始化的变量或捕获变量名的错误拼写)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

// 除了 E_NOTICE,报告其他所有错误
error_reporting(E_ALL ^ E_NOTICE);

// 报告所有 PHP 错误 (参见 changelog)
error_reporting(E_ALL);

// 报告所有 PHP 错误
error_reporting(-1);

// 和 error_reporting(E_ALL); 一样
ini_set(&#39;error_reporting&#39;, E_ALL);

Modifier le fichier de configuration php.ini

error_reporting = E_ALL # 报告所有错误
display_errors = On # 显示错误

Constantes d'erreur prédéfinies PHP

Le site officiel définit toutes les erreurs Constantes , les plus couramment utilisés sont :

  • E_STRICT (entier) suggestions PHP pour les modifications du code afin de garantir la meilleure interopérabilité et compatibilité ascendante du code.
  • E_ALL (entier) Tous les messages d'erreur et d'avertissement sauf E_STRICT.
  • E_ERROR (entier) Erreur d'exécution fatale. Ce type d'erreur est généralement une situation irrécupérable, comme un problème causé par l'allocation de mémoire. La conséquence est que le script se termine et ne continue pas à s'exécuter.
  • E_WARNING (entier) Avertissement d'exécution (erreur non fatale). Seul un message d'invite est émis, mais le script ne se termine pas.
  • E_PARSE (entier) Erreur d'analyse de la syntaxe au moment de la compilation. Les erreurs d'analyse sont générées uniquement par l'analyseur.
  • E_NOTICE (entier) Notification d'exécution. Indique que le script rencontre une situation qui peut apparaître comme une erreur, mais il peut également y avoir des notifications similaires dans les scripts qui peuvent s'exécuter normalement.

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!

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