大佬教程收集整理的这篇文章主要介绍了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,请注明来意。