ucenter通信失败和不能登录的解决

对于ucenter真是让人不省心,修改一下url,就通信失败了。

1、通信失败

然后后来怎么也改不好了,后来一步一步打log,发现是uc_server和uc_client不一致。

检查uc_server下data/cache/apps.php,检查里面的key,和config/config_ucenter.php里面的key。

如果是自己添加的应用,有可能data/cache/apps.php里面的都没有,那么手工填写,内容如下

$_CACHE['apps'] = array (
  id => //应用里的id
  array (
    'appid' => 'id',//应用里的id
    'type' => 'DISCUZX',
    'name' => 'Discuz! Board',
    'url' => 'url',//应用url
    'authkey' => 'key',//应用通信key
    'ip' => '',
    'viewprourl' => '',
    'apifilename' => 'uc.php',
    'charset' => '',
    'dbcharset' => '',
    'synlogin' => '1',
    'recvnote' => '1',
    'extra' => '',
    'tagtemplates' => '',
    'allowips' => '',
  ),
   
);

2、密码正确无法登录

打开uc_server/model目录里的admin.php
找到第22行的
$this->cookie_status = 0;

修改成
$this->cookie_status = isset($_COOKIE['sid']) ? 1 : 0;

参考了此帖。这篇帖子也提到了其它方案,摘录如下:

 

最近论坛的UCenter无法登录,闪退的解决办法(密码是正确的)
在Discuz官方论坛寻找了无数的解决方法,总结有以下几种:
1. 直接在Uc_server修改创始人密码
改UC创始人密码。
修改UC配置文件 /uc_server/data/config.inc.php
对应两行换掉
 
define('UC_FOUNDERPW', '636822edaa353665147896b9061edc4b');
define('UC_FOUNDERSALT', 'p5j8K5');
复制代码
密码为 123654
复制代码
或修改成
修改uc_server\data\config.inc.php文件解决了
define('UC_FOUNDERPW', '047099adb883dc19616dae0ef2adc5b6');
define('UC_FOUNDERSALT', '311254');
复制代码
 
创始人密码为123456789
复制代码


2. 登陆后台的Ucenter老提示验证码错误,或密码正确,但无法登录,如果连续试N次乃至10次以上,可能偶尔有一次能登陆成功,但一会后比如点击左边的菜单马上又提示要重新登陆,晕倒!
<span style="line-height: 1.5;">根据目录找到文件: UCenter的 model/base.php</span>
复制代码


3. 删除缓存文件解决
问题已解决,贴出来给同样有此问题的朋友借鉴啊。
ucenter运行时会加载uc_server/data/cache下面的几个php缓存文件。
目的是为了载入配置信息,这些缓存文件中的配置参数是从主配置中来的(uc里配置的),手动删除就会自动生成。
如果以前在ucenter界面里配置的client端失效了(ip更改等)。但是缓存配置文件依然继承原来的,uc就会不断的按照老的配置请求client端。重复时间久了就504了。
所以只需要修改apps.php文件。换成正确的配置项就可以登录了,别忘了在uc里面更新。
复制代码

 

4. 修改Ucenter密码及上传文件
 
1、在UCenter/data/下找到config.inc.php,打开找到下面2行代码:
 
define('UC_FOUNDERPW', '3858cdf66b0794bfd435af8c0c3e8712');
define('UC_FOUNDERSALT', '939786');
 
2、创建新的ucpass.php文件 把下面的代码COPY进去 保存
 
<?php
$ucfounderpw = '你要设置的密码';
$ucsalt = rand(100000,999999);
$ucfounderpw = md5(md5($ucfounderpw).$ucsalt);
echo $ucfounderpw.'<br />'.$ucsalt;
?>
 
3、将该PHP文件放到UCenter根目录下
4、在浏览器里打开ucpass这个文件 会看到2行数字 分别替换第1步里的2行数字
5、保存 覆盖原来的 搞定!
复制代码


5. 使用Tools 工具
   后台进入UCenter 用创始的密码老是错误
   我创始的密码改过 但是进不去
   密码能进后台 但是后台的UCenter却进不去 这是怎么回事
   如果我点管理员 在用创始的号进入就可以用
  UCenter 无法进入,第一次出现验证码错误,第二次出现密码错误,怎么操作都错误,使用tool修改也一样,偶尔人品爆发登录成功一次
或使用tools工具软件修复下 试试 可以试下重传UC目录
  在插件中心下载了TOOLS这个工具  用 uctools工具找回密码
  X3.1  使用Tools Ucenter 工具,输入密码。始终显示:请稍等,程序正在登录中。uctools.php已上传至UC根目录。谢谢高手指点!

  解决办法:    http://www.discuz.net/thread-1877098-1-1.html
  使用方法:
下载压缩包后,打开uctools.php文件,在密码设置区域设定tools的密码。然后把toosl.php文件上传到 UCenter 程序的根目录(保证配置文件的可写权限),在浏览器的地址栏中输入tools的访问地址,这样你就可以使用tools工具箱UCenter专用版了了。

功能概括:
    * [ 检查或修复数据库 ]
    * [ 快速设置(SQL) ]
    * [ 恢复数据库备份 ]
    * [ 重置创始人密码 ]

 

6. 修改admincp参数
  UCenter管理中心为什么登陆不上?密码正确的,就是没反应!然后我又乱输入密码那里提示创始人密码错误,
输入正确密码的时候就是没反应,没提示错误!为什么啊?版主帮帮忙! 管理员帮忙看看啊,
我上传DZ的时候论坛管理中心登不上的,

这个问题已经困扰我一个月了     换浏览器   重装电脑系统   清浏览器缓存    重新上传DZ   都不行    请问有大哥能解决这个问题吗?

后来我用FTP修改了   /config/config.php文
件,把文件中的$_config['admincp']['checkip'] = 1;设置为 $_config['admincp']['checkip'] = 0;
          这样设置了之后   后台管理中心就能登进去了   UCenter管理中心是不是也要设置 那里 才可以呢

7. 修改Model/base.php文件
  后台登录UC管理
用户名  UCenter Administrator  跟密码输入后,进去了一下。点击一下(应用管理)就自动退出了。然后提示需要重复登录
就这样一直重复登录着。。。。。。

   有高手知道这个是怎么回事吗? 不知道是不是启用了IP
  解决
UCenter的 model/base.php
查找:
$this->onlineip = $match[0] ? $match[0] : 'unknown';
在这代码之后插入一段代码:
$isonlineIP = isset($_COOKIE['onlineipd']) && !empty($_COOKIE['onlineipd']);
if($isonlineIP){
$this->onlineip = $_COOKIE['onlineipd'];
}else{
setcookie("onlineipd", $this->onlineip, time()+3600, "/");
}
unset($isonlineIP);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值