function fatal_error_handler() {
if ($error = error_get_last()) {
switch ($error['type']) {
case E_ERROR:
$code = 'FATAL ERROR';
break;
case E_CORE_ERROR:
$code = 'CORE ERROR';
break;
case E_CORE_WARNING:
$code = 'CORE WARNING';
break;
default:
$code = 'UNKNOWN FATAL ERROR';
}
echo 'An error occurred (Test 1): ' . $code . '<br />';
}
echo 'An error occurred (Test 2): ' . $code . '<br />';
}
register_shutdown_function('fatal_error_handler');
我目前正在使用register_shutdown_function编写一个致命错误处理程序。只是想知道,register_shutdown_function应该自动运行/执行吗?我一直在测试上面这段代码。我故意将第二个echo语句放在第二个echo语句中,看它是否自动运行,并且实际上打印出第二个echo语句(由于没有致命错误,因此第一个echo语句未打印)。PHP - register_shutdown_function自动执行?
是的,这个函数会在关机时自动运行。 – Sammaye