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.
Utilisez
register_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 fonction
error_mail和format_error. Par exemple :function format_error( $errno, $errstr, $errfile, $errline ) { $trace = print_r( debug_backtrace( false ), true ); $content = "Écrivez la fonction
error_mailen utilisantSwift Mailererror_mail.Voir aussi :