Maison >développement back-end >tutoriel php >Obtenir des informations de sortie d'erreur lors de l'exécution du code PHP

Obtenir des informations de sortie d'erreur lors de l'exécution du code PHP

WBOY
WBOYoriginal
2023-05-11 08:14:13855parcourir

PHP est un langage de programmation open source largement utilisé. Il possède de puissantes capacités de compilation. Cependant, il est inévitable de rencontrer diverses erreurs au cours du processus de développement. Pour localiser et résoudre rapidement ces erreurs, vous devez obtenir les informations de sortie d'erreur lors de l'exécution du code PHP. Cet article explique comment obtenir des informations de sortie d'erreur lors de l'exécution du code PHP.

1. Utilisez la fonction error_reporting

PHP fournit la fonction error_reporting, qui peut être utilisée pour définir le niveau de rapport d'erreurs du code PHP. Lors du développement et du débogage de code, error_reporting peut être défini sur E_ALL pour capturer toutes les informations d'erreur dans le code en temps opportun. Comme suit :

error_reporting(E_ALL);

Après avoir défini error_reporting, ajoutez try...catch... au code pour obtenir les informations d'erreur lors de l'exécution du code PHP. Comme suit :

try{
    // your code here
}catch(Exception $e){
    echo $e->getMessage();
}

Grâce à l'instruction catch, les erreurs générées lors de l'exécution du code peuvent être capturées, puis les informations sur l'erreur sont générées via l'instruction echo afin que les programmeurs puissent les localiser et les réparer. Notez que dans un environnement de production, la sortie du rapport d'erreurs doit être désactivée pour éviter les fuites d'informations.

2. Utilisez la fonction set_error_handler

En plus d'utiliser try...catch..., vous pouvez également utiliser la fonction set_error_handler pour obtenir des informations d'erreur lors de l'exécution de Code PHP. La fonction set_error_handler est utilisée pour enregistrer un gestionnaire d'erreurs personnalisé Lorsque le code PHP génère une erreur, le gestionnaire d'erreurs personnalisé sera appelé pour gérer l'erreur. Comme suit :

function customError($errno, $errstr){
    echo "<b>Error:</b> [$errno] $errstr<br>";
}

set_error_handler("customError");

Dans l'exemple ci-dessus, lorsqu'une erreur se produit dans le code PHP, le gestionnaire d'erreurs personnalisé customError sera appelé pour afficher le message d'erreur. Un gestionnaire d'erreurs personnalisé doit accepter deux paramètres, $errno et $errstr, représentant respectivement le type d'erreur et le message d'erreur. Les gestionnaires d'erreurs personnalisés doivent généralement être écrits dans un fichier PHP distinct et inclus dans le code avant l'exécution du code PHP.

Il convient de noter que la fonction set_error_handler ne peut capturer que les erreurs générées par PHP, mais ne peut pas capturer les avertissements et notifications générés lorsque PHP est en cours d'exécution. Si vous devez capturer des informations d'avertissement et de notification, vous pouvez utiliser le troisième paramètre de la fonction set_error_handler, qui spécifie le type d'erreur qui peut être signalé.

3. Utilisez les fonctions log_errors et error_log

En plus d'utiliser les méthodes ci-dessus, vous pouvez également capturer des informations sur les erreurs via les fonctions log_errors et error_log de PHP. La fonction log_errors est utilisée pour définir s'il faut écrire les informations d'erreur dans le fichier journal PHP, puis écrire les informations d'erreur dans le fichier journal via la fonction error_log. Comme suit :

ini_set('log_errors', 'On');
ini_set('error_log', '/path/to/log/file.log');

// your code here

error_log($error_message);

Dans l'exemple ci-dessus, log_errors est défini sur On via la fonction ini_set, ce qui signifie que les informations d'erreur générées seront enregistrées dans le fichier journal PHP. Spécifier error_log comme chemin du fichier journal via la fonction ini_set signifie enregistrer les informations d'erreur dans le fichier journal spécifié par le chemin. Dans le code, transmettez le paramètre $error_message via la fonction error_log pour enregistrer les informations d'erreur dans le fichier journal spécifié.

Il convient de noter que dans un environnement de production, le fichier journal doit être défini sur des autorisations en lecture seule pour empêcher d'autres personnes de modifier le contenu du fichier journal. Dans le même temps, les fichiers journaux doivent être conservés pendant une période suffisamment longue pour faciliter le dépannage et l'analyse lorsque des problèmes surviennent.

Conclusion

Les trois méthodes ci-dessus peuvent aider les programmeurs à obtenir les informations de sortie d'erreur du code PHP. En obtenant des informations sur les erreurs lors de l'exécution du code PHP, les programmeurs peuvent localiser et résoudre les problèmes plus rapidement et garantir la stabilité et la sécurité des applications PHP. Il convient de noter que dans un environnement de production, l'affichage des informations de sortie d'erreur doit être limité pour éviter la fuite d'informations sensibles. Dans le même temps, la sécurité des informations de sortie d'erreur doit également être assurée pour empêcher les pirates informatiques d'attaquer les informations de sortie d'erreur.

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