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);
作者:半山
出处:http://www.cnblogs.com/xdao/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。