日部分DISCUZ站点的网站突然变得很卡,是因为DISCUZ云平台卡顿导致
出现这种问题的站点(PC、App 同时卡顿),可以先去DISCUZ后台排查下,如下图:
若出现服务器检查时间、云平台到站点测试的时间过长,可能会影响到站点的访问。
对此,我们做出两点建议供站点参考:
1、暂时关闭DISCUZ云平台功能,注意:关闭前将云平台相关KEY和账号做备份。若丢失,找回相当麻烦,第三方用户会丢失。
2、修改文件:
修改 $prefix/source/plugin/manyou/Service/Client/Restful.php 文件
在 function __callMethod 函数入口处直接 return 阻断本地到云平台通信
protected function _callMethod($method, $args, $isBatch = false, $return = false) {
return true;
$this->errorCode = 0;
$this->errorMessage = '';
$url = $this->_url;
$avgDomain = explode('.', $method);
switch ($avgDomain[0]) {
case 'site':
$url = 'http://api.discuz.qq.com/site_cloud.php';
break;
case 'qqgroup':
$url = 'http://api.discuz.qq.com/site_qqgroup.php';
break;
case 'connect':
$url = 'http://api.discuz.qq.com/site_connect.php';
break;
case 'security':
$url = 'http://api.discuz.qq.com/site_security.php';
break;
default:
$url = $this->_url;
}
$params = array();
$params['sId'] = $this->_sId;
$params['method'] = $method;
$params['format'] = strtoupper($this->_format);
$params['sig'] = $this->_generateSig($params, $method, $args);
$params['ts'] = $this->_ts;
$postData = $this->_createPostData($params, $args);
if ($isBatch) {
$this->_batchParams[] = $postData;
return true;
} else {
$utilService = Cloud::loadClass('Service_Util');
$postString = $utilService->httpBuildQuery($postData, '', '&');
$result = $this->_postRequest($url, $postString);
if ($this->_debug) {
$this->_message('receive data ' . dhtmlspecialchars($result) . "\n\n");
}
if(!$return) {
return $this->_parseResponse($result, false, $return);
} else {
$response = @dunserialize($result);
if(!is_array($response)) {
return $result;
} else {
return $response;
}
}
}
}
若云平台不卡顿了,可以将上述两个修改改回去