前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PbootCMS进阶教程 如何让PB返回错误信息 快速定位Debug

PbootCMS进阶教程 如何让PB返回错误信息 快速定位Debug

原创
作者头像
阿哲
发布2022-03-18 11:09:31
9890
发布2022-03-18 11:09:31
举报
文章被收录于专栏:阿哲学习笔记

说在前面

先来吐槽一下,PbootCMS从某个版本开始,(具体是从哪个版本开始我也记不清了)将错误信息直接跳转到了404。

碰巧那一阵开发API相关接口,一个功能怎么调试都不正常,再后来才发现了这个细节更新。

当时就要炸了,趟坑了。

嗯~ o(* ̄▽ ̄*)o,我换个描述,是不是你的PbootCms网站出现了异常,比如总是跳转404,又不知道哪出问题了?

那么,就请接着往下看。

解决方案

话不多说,我们直接上操作

首先找到文件:\core\function\helper.php,大约在48行,不同版本行数略又差异。

找到 error 方法,将 http_response_code(404); 这一行代码注释掉,就可以了。

代码语言:javascript
复制
function error($string, $jump_url = null, $time = 2)
{
    @ob_clean();
    //http_response_code(404);
    if (! $string)
        $string = '未知错误!';
   
    if ($jump_url == '-1' && isset($_SERVER['HTTP_REFERER'])) {
        $jump_url = $_SERVER['HTTP_REFERER'];
        if (strpos($jump_url, get_http_url()) !== 0) {
            $jump_url = '/';
        }
    } elseif ($jump_url == '-1') {
        $jump_url = null;
    }
    if (Config::get('return_data_type') == 'json' || is_ajax()) { // 接口模型返回格式数据
        Response::json(0, strip_tags($string), $jump_url);
    } else {
        $err_tpl = CORE_PATH . '/template/error.html';
        echo parse_info_tpl($err_tpl, $string, $jump_url, $time);
    }
    exit();
}

写在后面

这个功能一定程度上能保护你的程序,让坏人也摸不着头脑。所以建议网站正常运行后,继续启用这个设置。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 说在前面
  • 解决方案
  • 写在后面
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档