在论坛上经常见到一些站长朋友问:我论坛升级后,登录不上去了,提示密码不对;头像不显示了,显示叉烧包
注册、登录不了,提示内部错误;Discuz X 模板错误等等。这些问题都有个共同点,就是 Discuz! 论坛本身和 UCenter 通信出现了问题。 UCenter 推出了这么长时
间,大部分站长对 UCenter 已经很熟悉了,也知道如何维护好它,但还是有些站长对 UCenter 和 Discuz! 的关系不太了解,出了问题往往束手无
策。
下面就讲讲 UCenter 和 Discuz! 的关系,以及它们之间常常会出现的问题及排查解决方法。 UCenter 是自 Discuz!6.0 以来,独立出来
的,集合了用户的有关数据。 UCenter 独立出来,有个好处,就是可以以 UCenter 为基础,添加多个应用,这些应用共享 UCenter 的会员数据,
可以同步登录、退出,应用之间进行通信等等。
既然是用户管理中心,也就是存有用户的头像,帐号密码,短消息等等数据。在我们操作网站的时候,也就是升级,搬家,转换,添加新应用时,都会涉及到
UCenter 的通信。说了这么多,很多人害怕,说这 UCenter 太麻烦了,太不方便。其实,需要我们去操作的,去具体的改的地方,很少,下面我就介绍
一下,都有哪些地方需要我们去实地操作。
UCenter 方面,主要就是 「应用管理」;论坛 BBS 方面就是配置文件 (config/config_ucenter.php) 。我们先看看 UCenter 页面里的 「应用管理」:

UCenter应用管理.jpg

如上图,ID 就是所对应的论坛在 UCenter 中的序号,应用名称这个不重要,这里的名称只是用来在 UCenter 里进行区别于其它应用,应用的主 URL
就是你论坛的访问地址,我这里是本机搭建的环境,所及地址为 localhost 。如果一切正常,那么通信情况就应该是 「通信成功」,反之则为 「通信失
败」 。如果通信失败了,那么就可以点击后面额 「编辑」 来进行修改一些配置,看下图:

UCenter编辑.jpg

2.jpg

3.jpg

然后我们就可以在这里进行修改了,修改也就是修改 3 个地方,一是通信主 URL,二是通信密钥,三是应用类型。主 URL 就不说了,通信密钥是经过加密的字符
串,一般不需你自己来动,还有就是应用类型,有人往往忘了这个地方,如果是 X 系列的版本,就选择 Discuz!X,如果是其它的,按照自己的类型选择就
行,然后点击提交。提交后,我们把页面拉到最后,看看应用的 UCenter 配置信息,这个单击一下,默认是全选的,这些配置信息内容是和
config/config_ucenter.php 一致的,也就是说 config/config_ucenter.php 的内容是应用的 UCenter
配置信息的来源。

我们再来看看 config/config_ucenter.php:

config.jpg

看看,这里定义的各个常量,我们是不是在 UCenter 的配置里就改过了?

这下我们明白了 UCenter 与 BBS 的关联在哪里了,那么,处理通信问题就游刃有余了。

一般出现的问题有:

1 、头像不显示;

2 、登录失败,管理员也登陆不了;

3 、应用 ID 不一致,导致的错误。

我们先举出这些问题,然后分析一下,问题出在哪里,当然问题不仅仅局限于这里。

出现上述问题,一定要先检查 UCenter 通信情况,大部分这个时候是失败的,我们到 UCenter 里看一下 UCenter 应用管理,如果觉得那里的信息
都正确,那么回过头来再看看 config/config_ucenter.php,主要检查 2 个,一个是 UC_API,一个是 UC_APPID,这 2 个因
素往往是问题的所在,然后看看通信密钥 UC_KEY 是否一致,具体的修改方法,大家都很清楚了,之前也有过这方面的教程,不多述了。

之所以写这么一个小文档,旨在给大家介绍一下 UCenter 与 BBS 的关系,出了问题我们有思路去找问题,找解决方法,有了思路,就解决了一半。