Site icon 时鹏亮的Blog

DiscuzX3开启插件调试时显示错误信息功能

请知悉:本文最近一次更新为 10年 前,文中内容可能已经过时。

操作办法:
1.config/config_global.php文件中添加一行代码:

$_config['debug'] = 1;
//1表示只显示严重错误类型的信息(如上述的每行代码结尾缺少分号)
//2表示显示所有类型错误,包含警告,Notice等

博主补充:经过测试,类似缺少分号这样的语法解析错误,必须设置为2才能全部显示,但是2的时候还会显示一些Notice~

2.source/function目录下添加一个名为function_debug.php的空文件

事实上到此,如果你之前设置的是2的话,进入论坛每个页面都会在上面列出一堆提示信息出来……当然,这个功能只在你需要调试插件异常的时候开启即可,最关键,还是写代码的时候细心一点,少犯低级错误。

以上方法整理自:http://blog.dt27.cn/php/rang_Discuz!_xian_shi_cuo_wu_xin_xi/

博主补充解析
dt27说具体实现方法可以查看source/class/discuz/discuz_application.php中的function _init_config,具体到代码如下:

if(empty($_config['debug']) || !file_exists(libfile('function/debug'))) {
define('DISCUZ_DEBUG', false);
error_reporting(0);
} elseif($_config['debug'] === 1 || $_config['debug'] === 2 || !empty($_REQUEST['debug']) && $_REQUEST['debug'] === $_config['debug']) {
define('DISCUZ_DEBUG', true);
error_reporting(E_ERROR);
if($_config['debug'] === 2) {
error_reporting(E_ALL);
}
} else {
define('DISCUZ_DEBUG', false);
error_reporting(0);
}

在elseif判定中,等于1的时候只显示严重错误,2的时候显示所有信息。其实也可以取巧修改下这里,把原始的

if($_config['debug'] === 2) {
error_reporting(E_ALL);
}

修改为

if($_config['debug'] === 2) {
error_reporting(E_ERROR | E_WARNING | E_PARSE);
}

然后就可以避免一些不必要的提示信息出现影响开发了。

至此,Discuz!的X3系列开启调试错误显示的讲解到此结束。


如您从本文得到了有价值的信息或帮助,请考虑扫描文末二维码捐赠和鼓励。

尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。


与《DiscuzX3开启插件调试时显示错误信息功能》相关的博文:

Exit mobile version