查看: 41|回复: 4

[讨论] Discuz安装插件后网站出现500如何解决

[复制链接]

12

主题

29

回帖

0

积分

热心网友

金币
29
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2012-2-29
发表于 2019-7-1 10:56:04 | 显示全部楼层 |阅读模式
安装了几款视频播放插件,但是一打开帖子页就出现500,然后在网上找了一个答案不知道对不对


下面是找的答案
尽管目前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 .= <<<EOF\n", $s);
                $s = str_replace('<?', "\nEOF;\n", $s);
                return "<?\n$constadd\$$var = <<<EOF\n".$s."\nEOF;\n?>";
        }
在代码$s = str_replace('<?', "\nEOF;\n", $s);下方加上一行:
$s = str_replace("\nphp ", "\n", $s);
上传覆盖此文件,然后将 \data\template目录中的内容清空。
修复完成!



在代码$s = str_replace('<?', "\nEOF;\n", $s);下方加上一行:
$s = str_replace("\nphp ", "\n", $s);   这一行代码里面已经有了



\data\template目录中的内容清空,这个我不敢清空,因为我不知道template目录中的内容是干嘛的,清空会不会导致更严重


知道的老哥麻烦解答一下,谢谢!!

插件, 版本, replace, constary, ff0000
回复

使用道具 举报

12

主题

29

回帖

0

积分

热心网友

金币
29
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2012-2-29
 楼主| 发表于 2019-7-1 11:03:57 | 显示全部楼层
搜狗浏览器打开帖子是500,小白浏览器打开是404              
回复

使用道具 举报

12

主题

29

回帖

0

积分

热心网友

金币
29
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2012-2-29
 楼主| 发表于 2019-7-1 11:04:52 | 显示全部楼层
                         .      500.png
回复

使用道具 举报

12

主题

29

回帖

0

积分

热心网友

金币
29
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2012-2-29
 楼主| 发表于 2019-7-1 11:33:25 | 显示全部楼层
安装的视频播放插件关闭后又能打开了
回复

使用道具 举报

12

主题

29

回帖

0

积分

热心网友

金币
29
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2012-2-29
 楼主| 发表于 2019-7-1 12:39:13 | 显示全部楼层
找这插件开发老哥解决了,他的两个插件同时用的话有冲突,下次安装插件出现这种情况 可以一个个插件关闭,每关闭一个插件刷新去看看是不是正常了,不正常的话又继续关闭另外个插件
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部