Maison >développement back-end >Problème PHP >Comment détecter les erreurs fatales en php

Comment détecter les erreurs fatales en php

藏色散人
藏色散人original
2020-07-23 10:00:353167parcourir

Comment obtenir des erreurs fatales en PHP : ouvrez d'abord "ob_start" et créez un fichier "tmp.php" ; puis écrivez quelques codes d'erreur dans le fichier "short.php" et enfin accédez à "tmp.php" ; Il suffit de déposer.

Comment détecter les erreurs fatales en php

php capture les erreurs fatales

L'enregistrement des journaux d'erreurs php peut nous aider efficacement à trouver des problèmes et à corriger des bugs, php Set_error_handler et set_exception_handler sont fournis pour capturer les erreurs et les exceptions. Cependant, set_error_handler ne peut pas capturer E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING, E_STRICT et autres erreurs. De manière générale, s'il s'agit d'une erreur fatale, l'interpréteur PHP ne pourra pas compiler. Naturellement, ces erreurs ne peuvent pas être détectées. Cependant, nous pouvons utiliser certaines méthodes pour obtenir intelligemment ces messages d'erreur.

Recommandé : "Tutoriel PHP"

Créez d'abord un tmp.php

<?php
//error_reporting(0);
ob_start();
set_error_handler(&#39;errorHandler&#39;);
register_shutdown_function( &#39;close&#39; );
function 大专栏  php捕获致命错误class="hljs-title">close(){
ob_end_clean();
$error = error_get_last();
echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r($error);
}
require &#39;short.php&#39;;

puis écrivez quelques codes d'erreur dans short.php, par exemple ,

echo $a//En n'ajoutant délibérément pas de point-virgule

puis en accédant à tmp.php, vous constaterez que la page n'affiche pas le message d'erreur de php lui-même, mais exécute la fermeture méthode. Il y a quelques points clés dans le code ci-dessus.

Tout d'abord, activez ob_start

Deuxième : utilisez register_shutdown_function pour enregistrer la fonction

Troisième : utilisez la fonction error_get_last pour obtenir des informations sur l'erreur

Quatrièmement : PHP analyse Le premier fichier ne peut pas avoir d'erreur fatale, sinon il ne peut pas être capturé. Par conséquent, il est également recommandé que lorsque vous créez votre propre framework ou choisissez un framework, il est préférable d'utiliser la méthode à entrée unique

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