杰奇为什么只能用php5.2,杰奇2.2修改系统定义后,网站报错问题解决

这是一个很折磨人的问题,以至于我一直以为,这是杰奇的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之后,确实所有报错都消失了,然后我再去后台的系统定义,发现这位置对应。

然后我右键了源代码,发现代码是这样:不显示错误

显示错误

显示错误和提示

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

但是问题又来了:

我现在的操作只是不显示错误,但是其实错误还是存在的,那么还是要解决啊!

但是当我在杰奇1.8后台和2.3后台设置“显示错误和提示”的时候,惊讶的情况出现了。

它们竟然也报了相同的错误,那么其实,不提示也没什么关系了,根本不影响使用。

总结:

杰奇2.2后台设置报错之后,其实根本就不是什么杰奇bug,而只是将一些错误信息直接提示了而已,修改成不提示就好了。

不过值得注意的是,现在网上流传的杰奇2.2版本都是要根据define.php来设置系统定义的,比如模板目录一定要对,授权码一定要填。

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值