PHP自动捕捉监控致命错误(500错误) error_get_last() 获取最后一次发生错误信息 register_shutdown_function()在脚本停止执行时注册一个回调函数

通常程序发生致命错误的时候页面空白,想获取错误信息也不难!主要是利用两个函数:
error_get_last() 获取最后一次发生错误信息:print_r()后结构如下:

Array
(
    [type] => 8
    [message] => Undefined variable: a
    [file] => C:\WWW\index.php
    [line] => 2
)

register_shutdown_function()在脚本停止执行时注册一个回调函数:

error_reporting(E_ALL); //E_ALL
 
function cache_shutdown_error() {
 
    $_error = error_get_last();
 
    if ($_error && in_array($_error['type'], array(1, 4, 16, 64, 256, 4096, E_ALL))) {
 
        echo '<font color=red>你的代码出错了:</font></br>';
        echo '致命错误:' . $_error['message'] . '</br>';
        echo '文件:' . $_error['file'] . '</br>';
        echo '在第' . $_error['line'] . '行</br>';
    }
}
 
register_shutdown_function("cache_shutdown_error");

 

posted @ 2016-07-11 17:42  WilliamShaw  阅读(368)  评论(0编辑  收藏  举报