Heim > Artikel > Backend-Entwicklung > PHP-Fehlerbehandlungsfunktion
Wenn das Programm online ausgeführt wird, Sie auf einen Fehler stoßen und die Ausgabe von Fehlermeldungen im Frontend vermeiden und den Entwickler rechtzeitig per E-Mail benachrichtigen möchten, wird register_shutdown_function
angezeigt Funktion kann nützlich sein.
Registrieren Sie eine Funktion, die aufgerufen wird, nachdem die Skriptausführung abgeschlossen ist oder nach exit().
kann register_shutdown_function()
mehrmals anrufen, und diese registrierten Rückrufe werden nacheinander in der Reihenfolge aufgerufen, in der sie registriert wurden. Wenn Sie exit() innerhalb einer registrierten Methode aufrufen, wird die gesamte Verarbeitung abgebrochen und andere registrierte Abbruchrückrufe werden nicht erneut aufgerufen.
register_shutdown_function
-Funktion: Wenn die Ausführung unseres Skripts abgeschlossen ist oder unerwartet abbricht, was dazu führt, dass die PHP-Ausführung beendet wird, wird unsere Funktion aufgerufen und kann in Verbindung mit error_get_last
verwendet werden, um Fehlerinformationen abzurufen.
register_shutdown_function ( callable $callback [, mixed $parameter [, mixed $... ]] )
aufrufbare Rückruffunktion
Parameter kann Parameter an die Abbruchfunktion übergeben, indem zusätzliche Parameter übergeben werden.
DEMO1:
//关闭错误报告 error_reporting(0); //实现自己的错误信息展示 register_shutdown_function(‘myShutdown‘); $debug = true; function myShutdown() { global $debug; // 无论错误是否发生,这句都会执行 echo ‘ERROR‘ , ‘<br/>‘; if (!$debug) { $error = error_get_last(); // todo 可以在这里做邮件发送提醒 或 错误日志收集 var_export($error); } }
DEMO2:
// 回到函数带参数:记录当前请求URL $current_page = htmlspecialchars($_SERVER[‘SCRIPT_NAME‘], ENT_QUOTES, ‘UTF-8‘); $current_page .= $_SERVER[‘QUERY_STRING‘] ? ‘?‘.htmlspecialchars($_SERVER[‘QUERY_STRING‘], ENT_QUOTES, ‘UTF-8‘) : ‘‘; register_shutdown_function(function ($current_page) { //todo send email or log }, $current_page); error_get_last() //错误信息查看:http://php.net/manual/zh/errorfunc.constants.php
Empfohlenes Tutorial: PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt vonPHP-Fehlerbehandlungsfunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!