找回密码
 注册

Discuz X UCenter 应用 通信失败 但可以正常使用的解决方法

php 发表于 2018/1/12 20:19 | 显示全部楼层 |阅读模式
Discuz! X3.4后台进入Ucenter -> 应用管理,出现“通信失败”的错误提示,然而论坛却可以正常访问,Discuz通信失败问题的出现有两方面的原因。

Discuz! UCenter通信失败错误原因一:UCenter配置错误,Discuz! UCenter配置存在于config\config_ucenter.php和uc_server\data\config.inc.php两个文件中,检查config\config_ucenter.php配置文件中的UC_KEY常量是否和uc_server\data\config.inc.php中的UC_KEY常量相同,如果不同,将前者修改为后者,如果UCenter连接方式选择为数据库,还需要正确配置数据库相关参数,需要特别注意的是config\config_ucenter.php中的UC_DBTABLEPRE需要带上数据库名称前缀,写成'qbbs.bbs_ucenter_',其中qbbs为数据库名名称,这种情况的错误很简单,网上各种冒充大牛的人互相转来转去解决的就是这种情况出现的错误

Discuz!应用通信失败错误原因二:对于使用HTTPS协议的论坛网站,Discuz!代码存在设计缺陷,需要作以下修改。
找到并且使用文本编辑软件打开uc_server\model\misc.php,搜索以下内容
  1.    $context = array(
  2.                                 'http' => array(
  3.                                         'method' => $post ? 'POST' : 'GET',
  4.                                         'header' => $header,
  5.                                         'content' => $post,
  6.                                         'timeout' => $timeout,
  7.                                 ),
  8.                         );
复制代码
修改为以下内容保存后覆盖上传即可解决Discuz! X3.4 管理后台UCenter通信失败的问题
  1.    $context = array(
  2.                                 'http' => array(
  3.                                         'method' => $post ? 'POST' : 'GET',
  4.                                         'header' => $header,
  5.                                         'content' => $post,
  6.                                         'timeout' => $timeout,
  7.                                 ),
  8.                                 'ssl' => array(
  9.                                         'verify_peer' => false,
  10.                                         'verify_peer_name' => false
  11.                                 )
  12.                         );
复制代码
出现这个问题的根本原因可以参考:unable to get local issuer certificate

手机版|轻松E站

轻松E站

快速回复 返回顶部 返回列表