Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Fehlerbehandlungsfunktion

PHP-Fehlerbehandlungsfunktion

王林
王林Original
2019-10-12 11:46:292551Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn