0

您可能已经知道,php 中的错误处理程序可以替换为使用以下函数的函数

set_error_handler()

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

截至目前,每次发生错误时都会执行自定义错误处理功能。

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

4

2 回答 2

1

我怀疑您正在寻找register_shutdown_function()

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

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

于 2013-03-14T17:26:38.277 回答
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');
....

(这都可以通过自动添加文件来完成)

于 2013-03-14T17:33:47.043 回答