Maison  >  Article  >  développement back-end  >  Comment obtenir des messages d'erreur en PHP

Comment obtenir des messages d'erreur en PHP

PHPz
PHPzoriginal
2023-04-04 09:12:08404parcourir

PHP est un langage de script côté serveur largement utilisé, facile à apprendre et très flexible. Cependant, comme tous les langages de programmation, PHP présente également ses défauts et ses erreurs, telles que des erreurs de syntaxe et des erreurs de logique. Pendant le processus de développement et de débogage, il est crucial d’obtenir et de résoudre ces messages d’erreur en temps opportun. Cet article explique comment obtenir des informations sur les erreurs en PHP.

1. Activez les messages d'erreur PHP

En PHP, les messages d'erreur ne seront pas affichés par défaut. Vous devez configurer le fichier php.ini pour activer la sortie des messages d'erreur. Vous pouvez ouvrir le fichier php.ini et trouver les deux lignes clés suivantes :

display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

Changez display_errors = Off en display_errors = On, puis modifiez error_reporting code > Ligne modifiée par : <code>display_errors = Off改为display_errors = On,然后将error_reporting行更改为:

error_reporting = E_ALL

这将启用所有错误报告,包括所有错误级别。在开启错误信息后,PHP脚本中的每个错误都将在网页上输出,包括警告、提示信息以及致命错误。

二、获取最近的PHP错误信息

在PHP脚本中,可以使用PHP自带的error_get_last()函数来获取最近发生的错误信息。该函数返回的是一个数组,包含错误的信息类型、消息和文件路径等。

下面是一个例子:

<?php
echo $test;
print_r(error_get_last());
?>

在上面的代码中,$test变量没有被定义,因此,这将导致一个致命错误。这个错误信息将作为最后一个错误被存储,然后通过error_get_last()函数进行检索,输出结果如下所示:

Array
(
    [type] => 8
    [message] => Undefined variable: test
    [file] => /var/www/html/test.php
    [line] => 2
)

三、注册错误处理程序

除了使用error_get_last()函数之外,还可以通过注册错误处理程序来获取错误信息。PHP提供了一个set_error_handler()函数,用于自定义PHP发生错误时的行为。该函数需要接收一个函数名称作为其参数,该函数可以被用来处理捕捉到的错误。

下面是一个例子:

<?php
function error_handler($errno, $errstr, $errfile, $errline) {
    echo "Error: [$errno] $errstr - $errfile:$errline";
}

set_error_handler("error_handler");

echo $test;
?>

在上面的代码中,我们定义了一个名为error_handler()的函数来处理错误。然后将该函数名称传递给set_error_handler()函数进行注册。当变量$test

Error: [8] Undefined variable: test - /var/www/html/test.php:7
Cela activera tous les rapports d'erreurs, y compris tous les niveaux d'erreur. Après avoir activé les informations d'erreur, chaque erreur du script PHP sera affichée sur la page Web, y compris les avertissements, les invites et les erreurs fatales.

2. Obtenez le dernier message d'erreur PHP

Dans un script PHP, vous pouvez utiliser la propre fonction error_get_last() de PHP pour obtenir le dernier message d'erreur. Cette fonction renvoie un tableau contenant le type d'informations d'erreur, le message, le chemin du fichier, etc. 🎜🎜Voici un exemple : 🎜rrreee🎜Dans le code ci-dessus, la variable $test n'est pas définie, cela provoquera donc une erreur fatale. Ce message d'erreur sera stocké comme dernière erreur puis récupéré via la fonction error_get_last(). Le résultat de sortie est le suivant : 🎜rrreee🎜 3. Enregistrez le gestionnaire d'erreurs 🎜🎜En plus d'utiliser error_get_last (), vous pouvez également obtenir des informations sur les erreurs en enregistrant un gestionnaire d'erreurs. PHP fournit une fonction <code>set_error_handler() pour personnaliser le comportement de PHP lorsqu'une erreur se produit. Cette fonction doit recevoir en paramètre le nom d'une fonction pouvant être utilisée pour gérer les erreurs détectées. 🎜🎜Voici un exemple : 🎜rrreee🎜Dans le code ci-dessus, nous définissons une fonction appelée error_handler() pour gérer les erreurs. Transmettez ensuite le nom de la fonction à la fonction set_error_handler() pour l'enregistrement. Cela entraînera une erreur fatale lorsque la variable $test n'est pas définie. Le gestionnaire d'erreur détectera l'erreur et affichera le résultat suivant : 🎜rrreee🎜 4. Conclusion 🎜🎜Dans le processus de développement de scripts PHP, il est crucial d'obtenir et de gérer les informations sur les erreurs en temps opportun. Diverses méthodes, de l'activation des messages d'erreur PHP à l'obtention des derniers messages d'erreur PHP, en passant par l'utilisation de gestionnaires d'erreurs enregistrés, peuvent nous aider à mieux gérer et déboguer les erreurs dans le développement 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