创意电子

标题: Discuz安装插件模板提示"数据无法识别,请返回"的解决办法 [打印本页]

作者: 酷浪    时间: 2019-10-5 11:46
标题: Discuz安装插件模板提示"数据无法识别,请返回"的解决办法
Discuz!X3.4应用中心安装任意的插件或者模板提示“数据无法识别,请返回”的解决办法

                               
登录/注册后可看大图


在Discuz应用中心安装任意的插件或者模板提示“数据无法识别,请返回”
可能原因一:应用中心启用HTTPS后出现

解决办法:
第一步:X3及以下版本的用户下载补丁 ,解压 addon_https_patch.zip (点击本文左下角“了解更多”按钮,进入详情页,下载该附件)
把 upload 目录下的文件覆盖到论坛文件。大于X3的论坛,比如X3.2、X3.4直接进行第二步操作。
第二步:下载测试文件 https_test.zip (点击本文左下角“了解更多”按钮,进入详情页,下载该附件) ,解压,把 https_test.php 上传到论坛根目录,通过浏览器访问 http://你的网站/https_test.php,按提示操作
PS:要完整体验 https 下的应用中心,首先要求 PHP 环境 5.3 以上,太老的 PHP 版本请自行升级
然后,可修改 source/function/function_cloudaddons.php 文件,把所有的 “http://” 替换为 “https://”
(注意是把 “http://” 替换为 “https://”,而不是 “http” 替换为 “https”,代码里有其他http内容)
可能原因二:你的服务器请求应用中心超时

香港等地区的服务器请求应用中心一般速度很慢,容易超时
尝试调高超时时间
打开 source\admincp\admincp_cloudaddons.php
找到
cloudaddons_open('&mod=app&ac=download&rid='.$_GET['rid'].'&packnum='.$packnum);
修改为
cloudaddons_open('&mod=app&ac=download&rid='.$_GET['rid'].'&packnum='.$packnum, '', 60);
不行的话,把数字 60 再改大点,比如 999
或者打开 source\function\function_cloudaddons.php
找到
$timeout = 15
把数字15改大点,比如60,不行的话再改大点,比如 999
可能原因三:你的服务器PHP环境有问题

虚拟主机直接在主机管理里切换PHP版本
云服务器或VPS,有安装宝塔等主机管理软件的,在管理软件里切换PHP版本
不支持直接切换的,自己重新安装配置PHP环境
X3.4支持 PHP5.3、PHP5.4、PHP5.5、PHP5.6、PHP7
四、如果是香港服务器可尝试此方法

本方法由1314学习网提供。
香港等地区的服务器访问应用中心很慢,甚至超时,会导致下载discuz应用中心插件时,提示数据无法识别,请返回。可尝试使用该方法,为应用下载提供断点自动续传,避免应用下载超时中断。
打开 source/admincp/admincp_cloudaddons.php
找到
$_GET['importtxt'] = $data;
修改为
本帖隐藏的内容
if(empty($data)){
cpmsg('cloudaddons_downloading', "action=cloudaddons&operation=download&addonids=$_GET[addonids]&i=$addoni&step=1&md5hash=".$_GET['md5hash'].'&timestamp='.$_GET['timestamp'].'&num='.$packnum, 'loading', array('addonid' => $_GET['key'].'.'.$_GET['type']), '
', FALSE);
exit;
}
$_GET['importtxt'] = $data;
这样在下载超时时,就会尝试重新去请求应用中心,完成整个下载过程。
如果服务器请求应用中心很慢,还可以配合进行下边的修改
同样是打开 source/admincp/admincp_cloudaddons.php
找到下边这行
$data = cloudaddons_open('&mod=app&ac=download&rid='.$_GET['rid'].'&packnum='.$packnum);
把整行代码替换为
$data = cloudaddons_open('&mod=app&ac=download&rid='.$_GET['rid'].'&packnum='.$packnum, '', 999);
五、换个浏览器试试

换个浏览器试试,O(∩_∩)O~
总有一个方法可以解决该问题。
点击“了解更多”查看原文




欢迎光临 创意电子 (https://wxcydz.cc/) Powered by Discuz! X3.4