推荐应用

Discuz多国语言翻译

Discuz多国语言翻译

文库系统/文档系统

文库系统/文档系统

美食菜谱发布菜谱

美食菜谱发布菜谱

漫画阅读中心

漫画阅读中心

小说阅读中心

小说阅读中心

语言包切换基本文件

语言包切换基本文件

成语闯关

成语闯关

谷歌登錄Google登錄

谷歌登錄Google登錄

轻APP

轻APP

网上祭祀祭拜扫墓

网上祭祀祭拜扫墓

手机MP4视频上传

手机MP4视频上传

彩票开奖号码公布

彩票开奖号码公布

DZX泰语/傣语

DZX泰语/傣语

DZX日文版(日本语)

DZX日文版(日本语)

Discuz!X2.5版本安装一些插件显示500错误,或页面打不开的问题修复

发布于 2018-02-26

尽管目前discuz已经升级到X3.4版本了,但是X2.5版本还有很多站长在使用。目前使用X2.5版本的站长面临的一个很头疼的问题就是好多插件不支持了,或者安装插件直接显示500错误,
具体表现为:安装没有前台界面的插件就可以正常使用,但是安装有前台界面的插件就打开报错!
这个问题一般是由于X2.5模板解析机制不同导致的,凡是在模板中调用系统函数或者自定义函数的都会出现此类错误,经过与高版本discuz!对比,发现修复方法如下:
打开文件 \source\class\class_template.php
找到代码
function stripblock($var, $s) {
 $s = str_replace('\\"', '"', $s);
 $s = preg_replace("/<\?=\\\$(.+?)\?>/", "{\$\\1}", $s);
 preg_match_all("/<\?=(.+?)\?>/e", $s, $constary);
 $constadd = '';
 $constary[1] = array_unique($constary[1]);
 foreach($constary[1] as $const) {
  $constadd .= '$__'.$const.' = '.$const.';';
 }
 $s = preg_replace("/<\?=(.+?)\?>/", "{\$__\\1}", $s);
 $s = str_replace('?>', "\n\$var .= << $s = str_replace(' return "";
}

在代码$s = str_replace('下方加上一行:
$s = str_replace("\nphp ", "\n", $s);
上传覆盖此文件,然后将 \data\template目录中的内容清空。
修复完成!
扫一扫添加有偿QQ
扫一扫添加微信客服