DISCUZ云平台卡顿说明

标签:

云平台


日部分DISCUZ站点的网站突然变得很卡,是因为DISCUZ云平台卡顿导致  


出现这种问题的站点(PC、App 同时卡顿),可以先去DISCUZ后台排查下,如下图: 

 

1233.png


若出现服务器检查时间、云平台到站点测试的时间过长,可能会影响到站点的访问。

对此,我们做出两点建议供站点参考

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;
       
}
     }
  }
}


若云平台不卡顿了,可以将上述两个修改改回去