Maison  >  Article  >  développement back-end  >  Comment configurer le rapport d'erreurs php.ini

Comment configurer le rapport d'erreurs php.ini

藏色散人
藏色散人original
2021-03-05 17:58:183183parcourir

Comment configurer le rapport d'erreurs php.ini : recherchez et ouvrez d'abord le fichier de configuration php.ini ; puis définissez le contenu sur "error_reporting=E_ALL display_errors=On".

Comment configurer le rapport d'erreurs php.ini

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3

PHP active l'affichage des erreurs et définit le niveau de rapport d'erreurs

Attention : N'affichez jamais de messages d'erreur en production !

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.

Paramètres couramment utilisés dans les projets

switch (ENVIRONMENT)
{
    // 对于开发环境,报告所有错误,同时显示到屏幕上
    case 'development':
        error_reporting(-1);
        ini_set('display_errors', 1);
    break;

    // 对于测试和生产环境,不显示错误,5.3 以上的版本,不报告通知、废弃方法、严格这几类错误
    case 'testing':
    case 'production':
        ini_set('display_errors', 0);
        if (version_compare(PHP_VERSION, '5.3', '>='))
        {
            error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT & ~E_USER_NOTICE & ~E_USER_DEPRECATED);
        }
        else
        {
            error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_USER_NOTICE);
        }
    break;

    default:
        header('HTTP/1.1 503 Service Unavailable.', TRUE, 503);
        echo 'The application environment is not set correctly.';
        exit(1); // EXIT_ERROR
}

Constantes d'erreur prédéfinies PHP

Le site officiel définit toutes les constantes d'erreur, couramment utilisées les suivants 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.

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

fonction ini_set()

Pour PHP, vous pouvez passez php.ini Paramètres du fichier diverses instructions. 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');

fonction error_reporting()

error_reporting() La fonction 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 # 显示错误

[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