Maison >développement back-end >Problème PHP >Comment imprimer les messages d'erreur PHP

Comment imprimer les messages d'erreur PHP

PHPz
PHPzoriginal
2023-04-10 14:13:001694parcourir

Comme PHP est de plus en plus utilisé, les développeurs rencontrent souvent diverses erreurs. À ce stade, l’affichage correct du message d’erreur peut nous aider à trouver le problème plus rapidement et avec plus de précision. Dans cet article, nous présenterons comment imprimer les messages d'erreur PHP afin que vous puissiez mieux déboguer votre application.

1. Pourquoi devez-vous imprimer les messages d'erreur PHP ?

Au cours du processus de développement, les programmes rencontrent souvent diverses erreurs. Ces messages d'erreur contiennent généralement des informations clés, telles que des codes d'erreur, des numéros de ligne d'erreur, des noms de fichiers d'erreur, etc. L'impression de ces messages d'erreur peut nous aider à mieux comprendre et suivre les problèmes afin que nous puissions les résoudre plus rapidement.

De plus, l'affichage correct des messages d'erreur peut également nous aider à détecter des problèmes de sécurité potentiels, tels que l'injection SQL, les attaques de scripts intersites, etc. Si nous parvenons à afficher correctement les messages d'erreur, nous pouvons détecter ces failles de sécurité plus tôt et les corriger à temps.

2. Comment imprimer le message d'erreur PHP ?

En PHP, nous pouvons utiliser les deux méthodes suivantes pour imprimer les informations d'erreur :

  1. Utilisez la fonction ini_set()

En PHP, nous pouvons utiliser la fonction ini_set() pour modifier dynamiquement la configuration dans le php. élément du fichier ini. En modifiant la valeur de l'élément de configuration display_errors, nous pouvons imprimer les informations d'erreur PHP. L'exemple de code est le suivant :

<?php
    ini_set(&#39;display_errors&#39;, &#39;On&#39;); // 开启错误信息输出
    echo $var; // 这里会出现一个未定义变量的错误
?>

Le code ci-dessus affichera un message d'erreur d'une variable non définie, et son contenu est le suivant :

Notice: Undefined variable: var in /path/to/file.php on line X

Parmi eux, Avis signifie un message d'invite, Variable non définie : var signifie une variable non définie , /path/to/ file.php indique le fichier dans lequel l'erreur s'est produite, et la ligne X indique la ligne sur laquelle l'erreur s'est produite.

  1. Modifier le fichier php.ini

En plus d'utiliser la fonction ini_set(), nous pouvons également modifier directement le fichier php.ini pour imprimer les messages d'erreur PHP. Nous pouvons trouver l'élément de configuration display_errors et le définir sur On. L'exemple de code est le suivant :

display_errors = On

Après avoir modifié le fichier php.ini, nous devons redémarrer le service Apache ou PHP-FPM pour prendre effet.

3. Comment limiter la sortie des messages d'erreur PHP ?

Bien que la sortie de messages d'erreur PHP soit très utile pour le débogage des applications, la sortie de messages d'erreur dans un environnement de production peut exposer certaines informations sensibles importantes. Par conséquent, dans un environnement de production, nous pouvons limiter la sortie des informations d'erreur PHP des deux manières suivantes :

  1. Définissez l'élément de configuration display_errors sur Off

Nous pouvons définir l'élément de configuration display_errors sur Off en modifiant le fichier php.ini. fichier, de cette façon, PHP n’affichera aucun message d’erreur. Cette méthode convient à la protection des environnements de production, mais n'est pas très conviviale pour le débogage des applications.

  1. Sortir les informations d'erreur dans un fichier journal

En plus de définir l'élément de configuration display_errors sur Off, nous pouvons également générer des informations d'erreur PHP dans un fichier journal. Nous pouvons utiliser la fonction error_log() pour écrire les informations d'erreur PHP dans le fichier journal, de sorte que même si une erreur se produit, les informations sensibles ne seront pas exposées. Dans un environnement de production, c’est une meilleure stratégie. L'exemple de code est le suivant :

<?php
    error_reporting(E_ALL); 
    ini_set(&#39;display_errors&#39;, &#39;Off&#39;);
    ini_set(&#39;log_errors&#39;, &#39;On&#39;);
    ini_set(&#39;error_log&#39;, &#39;/path/to/error.log&#39;);

    // 这里会出现一个未定义变量的错误
    echo $var;
?>

Le code ci-dessus écrira les informations d'erreur dans le fichier journal spécifié. Nous pouvons suivre le problème en affichant le fichier journal.

4. Résumé

La sortie correcte du message d'erreur est la clé du débogage du programme. Elle peut nous aider à trouver le problème plus rapidement et avec plus de précision. En PHP, nous pouvons afficher des informations d'erreur via la fonction ini_set() et modifier le fichier php.ini. Dans le même temps, dans un environnement de production, nous pouvons générer des informations sur les erreurs dans un fichier journal pour éviter la fuite d'informations sensibles.

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