logo

JTBC5.0关闭PHP代码报错的方法

2025-02-19 点击 11

在JTBC5.0中默认的PHP代码报错界面是经过格式化处理的。在官方帮助手册中有指出:

在JTBC5中,未处理的异常最终由Jtbc\Exception\Handler类接管,并输出500错误码。

见:httPS://help.jtbc.cn/php/5.0/#exception/report.xml

那么,如何关闭报错呢,这里我们通过测试来学习一下方法。

首页我们使用PHP大法,原版报错关闭。

找到JTBC5.0启动文件:\Bootstrap\jtbc.php

原错误配置:

error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT);

修改成

error_reporting(0);

保存,然后我们关闭网站数据库,来看一下报错。

是的,你没看错,报错依然存在。

那是什么原因造成屏蔽错误提示后,依然会有报错显示呢,这里就回到上面提到的帮助手册里的内容:

在JTBC5中,未处理的异常最终由Jtbc\Exception\Handler类接管,并输出500错误码。

原来在JTBC5中,屏蔽错误提示代码后,在Handler类中依然会重新进行错误的输出。

到此,我们就找到了原因,解决方法也很简单。有两种方法:

第一种,直接在\Bootstrap\jtbc.php中屏蔽相关代码

//set_exception_handler(['Jtbc\Exception\Handler', 'output']);

这样结合error_reporting(0); 就解决了错误的输出。

第二种,在Handler类文件头部添加error_reporting(0);即文件\Jtbc\Exception\Handler.php

这样结合\Bootstrap\jtbc.php文件中的error_reporting(0); 就解决了错误的输出。


最终,我们发现,在JTBC5中,未处理的异常最终由Jtbc\Exception\Handler类接管,并输出500错误码。

要屏蔽错误代码输出,除了设置PHP错误输出,还要处理Handler类对错误代码的输出。

0%