安装使用 Discuz! X论坛 与 UCenter 通信失败的解决方法总结

[复制链接]
ARCHY明星会员实名认证 发表于 2012-7-17 08:20:24 [安装使用] 显示全部楼层 |阅读模式 上一主题 下一主题
ad广告
ad广告

马上注册,一起探讨正确快速的建站方法

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
应用与 UCenter 通信失败是站长们经常遇见的问题之一,通信失败会造成的后果也很多,如上传头像时报错、新会员无法注册、登录密码不正确等一系列的问题,之前已经写过UC通信问题故障解决方法--包括头像上传和注册登录故障,主要分析了处理UC通信的方法,下面在站帮网再把 UCenter 通信失败的解决方法总结并和大家分享。

UCenter 通信异常,一般有下面的一些症状:
1、头像无法上传出现了错误提示:access denied for agent changed;
2、网站登录提示密码不正确或者没响应;
3、会员无法注册;
4、各应用不能同步登录和退出;
5、UCenter后台提示通信失败;
6、头像显示红X;
7、登录站点后台 => 点击 UCenter 显示 404 或者其它错误。


还有很多各种各样的情况,这里就不一一列举了。

解决方法总结如下

1、检查站点配置文件中的 UC_APPID 与 UCenter 中的应用ID是否一致
discuz! X2.5为例,配置文件的目录为:./config/config_ucenter.php 找到如下图所示的位置

检查站点配置文件中的 UC_APPID 与 UCenter 中的应用ID是否一致

检查站点配置文件中的 UC_APPID 与 UCenter 中的应用ID是否一致


这里的值必须与 UCenter 后台中应用ID的值保持一致,如下图所示。

这里的值必须与 UCenter 后台中应用ID的值保持一致

这里的值必须与 UCenter 后台中应用ID的值保持一致


2、应用的主 URL 地址即站点地址必须与 UCenter 后台的应用地址相同
比如站点的访问地址为:http: //www.discuz.net ,那么 UCenter 后台该应用的地址也必须是 http: //www.discuz.net。

应用的主 URL 地址即站点地址必须与 UCenter 后台的应用地址相同

应用的主 URL 地址即站点地址必须与 UCenter 后台的应用地址相同


3、配置文件中的通信密钥必须与 UCenter 后台的通信密钥保持一致
配置文件的通信密钥可以在./config/config_ucenter.php 中看到。

配置文件中的通信密钥必须与 UCenter 后台的通信密钥保持一致

配置文件中的通信密钥必须与 UCenter 后台的通信密钥保持一致


这里的密钥必须和 UCenter 后台的保持一致。

这里的密钥必须和 UCenter 后台的保持一致。

这里的密钥必须和 UCenter 后台的保持一致。


4、UCenter IP 地址要与服务器的 ip 地址相同,可以在配置文件中修改 IP 地址,如图

UCenter IP 地址要与服务器的 ip 地址相同

UCenter IP 地址要与服务器的 ip 地址相同


同理,UCenter 后台的应用 IP 地址也要和配置文件中的一致。

应用管理中,编辑站点应用即可看到如下图所示:

UCenter 后台的应用 IP 地址也要和配置文件中的一致。

UCenter 后台的应用 IP 地址也要和配置文件中的一致。


5、检查配置文件中的表前缀是否填写正确,位置在./config/config_ucenter.php 中

检查配置文件中的表前缀是否填写正确

检查配置文件中的表前缀是否填写正确

6、fsockopen函数被禁用
检查 php 环境,是否禁用了 fsockopen 函数,可以通过 php.ini 来查看该函数的情况,在这个文件中查找
  1. allow_url_fopen
复制代码
将其改为
  1. allow_url_fopen = On
复制代码
7、应用域名301重定向的情况
301重定向可以用fsockopen函数进行测试:用下面的代码
  1. <?php
  2. $fp = fsockopen("[url=http://bbs.zb7.com]www.zhanhelp.com[/url]", 80, $errno, $errstr, 30);
  3. if (!$fp) {
  4.     echo "$errstr ($errno)
  5. \n";
  6. } else {
  7.     $out = "GET / HTTP/1.1\r\n";
  8.     $out .= "Host: [url=http://bbs.zb7.com\r\n]www.zhanhelp.com\r\n[/url]";
  9.     $out .= "Connection: Close\r\n\r\n";
  10.     fwrite($fp, $out);
  11.     while (!feof($fp)) {
  12.         echo fgets($fp, 128);
  13.     }
  14.     fclose($fp);
  15. }
  16. ?>
复制代码
将对应的域名更改为 UCenter 应用中的域名,然后访问此测试脚本,返回的内容有 301 permanently 内容,通信也会失败。
您只要取消重定向即可,一般是 301 跳转规则有问题。

通过以上方法,便可以解决通信失败的问题。通常只要目录权限正确,配置文件和后台设置按照上面方法操作通信就不会出现问题了。




上一篇:Discuz! X2.5 在线用户列表不显示用户的解决方法
下一篇:上传头像失败的问题解决方案汇总

大神点评22

 楼主| ARCHY明星会员实名认证 发表于 2012-7-17 08:43:42 [安装使用] 显示全部楼层
沙发自己坐
非一般感觉明星会员实名认证 发表于 2012-9-26 22:59:53 [安装使用] 显示全部楼层
  正好有用
神马都是浮云... ...
dustheart 发表于 2012-10-17 09:53:23 [安装使用] 显示全部楼层
多站点共用UC可行吗
77924998 发表于 2012-11-17 14:51:20 [安装使用] 显示全部楼层
如果是301出问题的话,除了不启用301还有其他办法 吗?
苏歌 发表于 2013-1-27 23:11:52 [安装使用] 显示全部楼层
求助,全新安装discuzX2.5,包括UCENTER,安装之后却发现discuzX2.5与uc_server通信失败!!!

经检查,因为是自动全新安装的,应用ID一致,主URL地址相同,通信密钥一致,IP地址一致,数据表前缀一致,fsockopen函数已开启,但仍然是通信失败~~为何呀?????
aipooo 发表于 2013-2-23 15:16:04 [安装使用] 显示全部楼层
检查站点配置文件中的 UC_APPID 与 UCenter 中的应用ID是否一致http://www.mengnalishanvbao.com
空、宁 发表于 2013-3-13 16:09:03 [安装使用] 显示全部楼层
http://www.xinslwh.com这个是用dedecms做的和论坛http://www.xinslwh.com/bbs在ucenter后台中显示绿色的勾(表示通信成功),但是在前台不能同步登陆退出。。求好心人帮帮忙
假打 发表于 2013-4-11 15:30:54 [安装使用] 显示全部楼层
哥们,不错。
无言88 发表于 2013-5-6 10:38:10 [安装使用] 显示全部楼层
呵呵,又来学习啦!
ssvsss 发表于 2013-5-9 23:36:53 [安装使用] 显示全部楼层
好贴..留名备用.刚好有问题..
zekjda 发表于 2013-5-16 10:50:25 [安装使用] 显示全部楼层
good不错学习一下
davan 发表于 2014-2-8 11:52:00 [安装使用] 显示全部楼层
什么结果算对了
davan 发表于 2014-2-10 07:53:29 [安装使用] 显示全部楼层
本帖最后由 davan 于 2014-2-10 07:56 编辑


一步步走下来了,检查所有设置,最后
运行这个php
calgaryonline.net/uctest1.php

得到:
unable to connect to 。。。。  /home/content/48/10725648/html/

接下来怎么做?
v4521 发表于 2014-4-6 15:48:22 [安装使用] 显示全部楼层
学习了,感谢楼主
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

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