杰奇2.2修改系统定义后,网站报错问题解决

本文阅读 4 分钟
广告

这是一个很折磨人的问题,以至于我一直以为,这是杰奇的bug。而且查阅网上的资料,也没有任何人研究和解答,更多的是关于这个问题的骂街和吐槽源码有问题,其实现在网上流传的杰奇2.2也并不是官方的最新版2.2,甚至比1.8的最新版还要老,而我在使用的时候也经常去替换许多文件来实现新功能。关于这个设置的问题,我起初想了很多地方,也解密了太多文件。
其实我也很想骂街,但是还是2.2版本是我最熟悉的。

首先是我找出错误的过程:
报错代码类似这样:

Notice: Undefined variable: jieqi_shareurl in E:\web\jieqiproject\rc\header.php on line 278

不是一个地方报错,而是整个网站都报这个错误。
首先:我检查了define.php,里面并没有jieqi_shareurl这个配置,而且整个define.php和我在后台修改之前,暂时也没找出不同的地方。所以我解密了根目录的header.php,在里面找到了这些代码。

$jieqi_shareurl = (strpos($jieqi_shareurl, "?") === false ? $jieqi_thisurl . "?fromuid=" . @intval($_SESSION["jieqiUserId"]) : $jieqi_thisurl . "&fromuid=" . @intval($_SESSION["jieqiUserId"]));
$jieqiTpl->assign("jieqi_shareurl", $jieqi_shareurl);

很显然所谓的jieqi_shareurl就是在这里面定义的,然而并没有什么卵用,所以我尝试在前面加一个@来让他不显示,结果顿时后台不显示了,但是前台还是一大堆,看来这方法不行。于是我解密了杰奇1.8和杰奇2.3的header.php,结果竟然都发现了上面的代码,但是问题是,它们为什么不报错?
直到我非常仔细了比对了define.php,发现了一个非常小的差别。

@define('JIEQI_ERROR_MODE','2');   //我现在的
@define('JIEQI_ERROR_MODE','1');   //我原来的

我修改为1之后,确实所有报错都消失了,然后我再去后台的系统定义,发现这位置对应。
1.png
然后我右键了源代码,发现代码是这样:

<option value="0">不显示错误</option>
<option value="1">显示错误</option>
<option value="2" selected="selected">显示错误和提示</option>

是的,只要设置为不显示错误和显示错误,错误代码都不会出现,但是如果选择显示错误和提示,那么就会全部报错,而且坑爹的是那个会报错的选项还设置了selected,所以这就是最终的答案了。

但是问题又来了:
我现在的操作只是不显示错误,但是其实错误还是存在的,那么还是要解决啊!
但是当我在杰奇1.8后台和2.3后台设置“显示错误和提示”的时候,惊讶的情况出现了。
2.png
它们竟然也报了相同的错误,那么其实,不提示也没什么关系了,根本不影响使用。

总结:
杰奇2.2后台设置报错之后,其实根本就不是什么杰奇bug,而只是将一些错误信息直接提示了而已,修改成不提示就好了。
不过值得注意的是,现在网上流传的杰奇2.2版本都是要根据define.php来设置系统定义的,比如模板目录一定要对,授权码一定要填。

好了,就到这里,可以转载但是请注明来源!

本文来自投稿,不代表本站立场,如若转载,请注明出处:https://www.ruletree.club/archives/245/
js实现返回上一页并刷新代码
« 上一篇 10-14
在线网页制作源码 v1.4完美破解版
下一篇 » 10-19
广告

发表评论

成为第一个评论的人

作者信息

热门文章

标签TAG

热评文章