php ErrorHandler - 错误计数

时间:2013-03-14 17:23:01

标签: php function handler

您可能已经知道,php中的错误处理程序可以使用

替换为函数
  

的set_error_han dler()

我正在制作自己的错误处理程序,当我遇到所有错误时,我想做点什么。

截至目前,自定义错误处理功能将在时间内执行一次错误。

那么,有什么方法可以知道它是否是最后一个错误,所以我可以执行一个html脚本。

2 个答案:

答案 0 :(得分:1)

我怀疑您正在寻找register_shutdown_function()

  

注册在脚本执行完成后执行的回调或   调用exit()。

但是你最好确保你的回调函数不会触发任何错误xD

答案 1 :(得分:0)

如果你想一次性处理所有错误(这意味着你将失去对致命错误之前发生的错误的可见性 - 因此我不建议这样做)然后注册一个sutdown函数并通过你的错误处理程序累积数据然后在你的关机功能报告错误....

<?php

$mylog="started\n"

function logit() {
    global $mylog;
    if ($mylog) {
       file_put_contents(tmpnam('/var/log/php', 'err');
    }
}

register_shutdown_function('logit');
function whoops()
{
    global $mylog;
    $mylog.="something bad happenned\n";
}
set_error_handler('whoops');
....

(这可以通过自动前置文件完成)