PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了PHP错误包装程序?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我不知道我使用的术语是否正确,但是我正在寻找的东西与您通过zend服务器获得的东西类似.看一下this.

看起来像是一个错误,它将请求与堆栈跟踪和函数参数以及一些其他信息一起转储.它使您可以在一个不错的界面中查看它.我知道这并不难,因为您可以随时进行错误回调,但是如果存在这样的东西(免费),我宁愿使用它而不是重新发明轮子.

解决方法:

我没有任何工具可以自动为您执行此操作;但是,我认为开发起来并不难…不过,我承认,这将需要一些时间:-(

仅需说明一下,我想到记录错误的最佳解决方案是:

>用set_error_handler注册您自己的错误处理程序
>对该函数进行编码,以便记录错误的GET / POST数据

>也许可以/应该/应该在某数据库结构化文件中完成(sqlite数据库,也许是:轻便,快速,易于使用,不依赖于外部数据库服务器等),并且不仅仅是普通文件;以后会更容易处理.

>开发“报告”应用程序…

>那是需要花费一些时间的事情,正如您所说的…

使用手册页上给出的示例,可能会执行以下操作:首先,声明您的错误处理函数

function myErrorHandler($errno, $errstr, $errfile, $errlinE)
{
    $str = '';
    switch ($errno) {
        case E_user_ERROR:
            $str .= "<b>My ERROR</b> [$errno] $errstr<br />\n";
            $str .= "  Fatal error on line $errline in file $errfile";
            $str .= ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";
            break;
        case E_user_WARNING:
            $str .= "<b>My WARNING</b> [$errno] $errstr<br />\n";
            break;
        case E_user_NOTICE:
            $str .= "<b>My NOTICE</b> [$errno] $errstr<br />\n";
            break;
        default:
            $str .= "UnkNown error type: [$errno] $errstr<br />\n";
            break;
    }
    $str .= print_r($_GET, truE);

    $str .= "\n";
    file_put_contents(dirname(__FILE__) . '/log.txt', $str, FILE_APPEND);

    /* Don't execute PHP internal error handler */
    return true;
}

获取错误信息,根据错误类型准备一些特定的错误消息,并将所有错误消息和$_GET转储到文件中.
(当然,您的网络服务器必须能够创建/写入该文件)

然后,您注册该处理程序:

$old_error_handler = set_error_handler("myErrorHandler");

最后,为了测试,您会触发一些错误

trigger_error("test of E_user_ERROR", E_user_ERROR);
trigger_error("test of E_user_WARNING", E_user_WARNING);
trigger_error("test of E_user_NOTICE", E_user_NOTICE);

现在,假设您以如下形式调用页面http://tests/temp/temp.PHP?a = 10& test = glop& Hello = world;您将收到包含以下内容错误日志:

$cat log.txt
<b>My ERROR</b> [256] test of E_user_ERROR<br />
  Fatal error on line 34 in file /home/squale/developpement/tests/temp/temp.PHP, PHP 5.3.0RC4 (LinuX)<br />
Array
(
    [a] => 10
    [test] => glop
    [Hello] => world
)

<b>My WARNING</b> [512] test of E_user_WARNING<br />
Array
(
    [a] => 10
    [test] => glop
    [Hello] => world
)

<b>My NOTICE</b> [1024] test of E_user_NOTICE<br />
Array
(
    [a] => 10
    [test] => glop
    [Hello] => world
)

在这种情况下,这很丑陋.现在,取决于您如何在此基础上精确地获得您想要的;-)

当然,现在,您还必须开发报告界面(用户友好,快速,可用等等).这可能是放置时间最长的部分:-(

而且,不幸的是,我不知道有什么工具可以帮助您…
(也许,如果您开始开发某些东西,可以将其作为开源发布?这可能对其他人有用;-)我可能对某些项目感兴趣,但我确定我不是那个项目;-))

还是,玩得开心!

大佬总结

以上是大佬教程为你收集整理的PHP错误包装程序?全部内容,希望文章能够帮你解决PHP错误包装程序?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: