Comment détecter les erreurs fatales PHP (`E_ERROR`) ?
P粉978551081
P粉978551081 2023-08-27 14:42:20
0
1
506

Je peux utiliser set_error_handler() pour détecter la plupart des erreurs PHP, mais cela ne fonctionne pas pour les erreurs fatales (E_ERROR), telles que l'appel d'un non -fonction existante. Existe-t-il un autre moyen de détecter ces erreurs ?

J'essaie de résoudre toutes les erreurs en appelant mail() et j'exécute PHP 5.2.3.

P粉978551081
P粉978551081

répondre à tous (1)
P粉576184933

Utilisezregister_shutdown_functionpour enregistrer les erreurs fatales, cela nécessite PHP 5.2+ :

register_shutdown_function( "fatal_handler" ); function fatal_handler() { $errfile = "unknown file"; $errstr = "shutdown"; $errno = E_CORE_ERROR; $errline = 0; $error = error_get_last(); if($error !== NULL) { $errno = $error["type"]; $errfile = $error["file"]; $errline = $error["line"]; $errstr = $error["message"]; error_mail(format_error( $errno, $errstr, $errfile, $errline)); } }

Vous devez définir la fonctionerror_mailformat_error. Par exemple :

function format_error( $errno, $errstr, $errfile, $errline ) { $trace = print_r( debug_backtrace( false ), true ); $content = "

Écrivez la fonctionerror_mailen utilisantSwift Mailererror_mail.

Voir aussi :

表>”; renvoie $content ; }
Item Description
Error
$errstr
Numéro d'erreur
$errno
Fichier $Fichier d'erreur
OK $ligne d'erreur
Piste
$trace
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!