php经常致命错误怎么办,如何捕获PHP中的致命错误(Fatal Errors)

在这篇文章中,我们将会看到如何捕获PHP中的致命错误(Fatal Errors)。在通常情况下这些错误是能不被捕获的,因为他们是“致命”的。

当你想要查看详细的、格式化后的错误页面,而不是PHP错误,或当你的程序由于致使错误而意外终止的时候,能捕获致命错误会很有用。

我们会用到register_shutdown_function()函数捕获这些错误,并根据我们的要求进行格式化。

请注意register_shutdown_function()函数都将会你的程序执行完后执行,无论你的程是否运行正常。

所以,在这个函数前执行任何操作我们都要检查是否真的有致命错误出现。如果出现致命错误,我们显示错误页面,否则,程序继续执行。我们用 error_get_last() 函数来获取上一个错误的详细信息。

function catch_fatal_error()

{

// Getting Last Error

$last_error =  error_get_last();

// Check if Last error is of type FATAL

if(isset($last_error['type']) && $last_error['type']==E_ERROR)

{

// Fatal Error Occurs

// Do whatever you want for FATAL Errors

}

}

register_shutdown_function('catch_fatal_error');