Discuz! Debug工具——PHP错误显示和记录
本debug工具为改进本人的一个错误debug类而来。由于DZ本身运行时有大量的NOTICE错误(这是dz的编写习惯导致),因此本次发布的debug工具为适应dz版(屏蔽NOTICE错误版本)。如果需要原版,请使用[url=http://horseluke-code.googlecode.com/svn/trunk/InterFramework/Lib/Inter/Error.php]这个链接的文件[/url]
[color=Red][b]请注意:[/b][/color]
1、不是所有错误都是系统漏洞,有些错误本身并不会引起系统错误,只是在检查时候的“依例通知”;然而有些错误则需要引起开发者们的警觉。具体发现,请自行摸索~
2、本debug文件仅适合PHP5.0及以上版本。
[color=Red]3、本文件仅允许[b][size=5]开发者在本地调试使用[/size][/b],非必要情况下,严禁使用于生产环境(比如正在运营的网站)!
4、本人不承担任何因使用及误用而导致任何不良后果的责任!
5、请多多查看日志记录文件,并及时做好删除操作。[/color]
6、由于屏蔽notice错误,所以在日志中不会记录变量不存在的错误。如有需要,请自行下载原版,然后对日志分析进行统计学分析,以找出问题。友情提醒:此时的log文件将异常大,请最好将日志记录存放在由ramdisk虚拟出来的内存盘
使用方法:
1、把php文件Error.php放入include文件夹内
2、打开include/common.inc.php,在
[quote]error_reporting(0);[/quote]
的前面插入:
[quote]//Inter_Error调试插入(开始)
require("Error.php");
//然后接管PHP的错误处理机制
set_exception_handler(array('Inter_Error', 'exception_handler'));
set_error_handler(array('Inter_Error', 'error_handler'), E_ALL);
//然后可选择地使用如下方式进行设置(假如保持默认值,可以不需配置。默认值请查看Error.php里面关于静态属性$debugMode的说明):
Inter_Error::$conf['debugMode'] = true; //是否在浏览器显示
Inter_Error::$conf['logType'] = 'simple'; //日志记录方式:'simple'简单、'detail'全记录、false不记录
Inter_Error::$conf['logDir'] = 'R:/TEMP'; [color=Red] //强调!强调!!请在这里填写日志记录的完整目录路径(最后不要带/)!绝对不要使用常量DISCUZ_ROOT!(因为此时不存在这东西)[/color]
//Inter_Error调试插入(结束)[/quote]
==============================
其它Discuz! Debug工具:
SQL语句调试(非官方debug.func.php文件):[url]http://www.freediscuz.net/bbs/thread-5198-3-2.html[/url]
[[i] 本帖最后由 horseluke 于 2010-2-24 19:03 编辑 [/i]] [b]截图预览[/b]
pub to dz
[url]http://www.discuz.net/viewthread.php?tid=1575565[/url] 哦?这样也可以?更新
修正参数处的简易xss攻击 。。。这样还能攻击……那dz是不是还没有修正?回复 6# 枯心树 的帖子
与dz本身毫无关系~回复 7# horseluke 的帖子
哦。这个仅仅是工具显示来的吧? 友情帮顶页:
[1]