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' => '',
'recvnote' => '',
'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);
ucenter通信失败和不能登录的解决的更多相关文章
- discuz ucenter通信失败
一般出现时2个问题,一个是目录出问题,改成你现在的目录就行 二个就是通信密钥不对,应该和config文件下的config_ucenter.php文件里的UC_KEY一致
- UCenter 通信失败 和 无法同步登陆的调试方法
1. 看请求 2./uc_server/control/admin/app.php echo "\$url = $url <br />\n \$status = $status& ...
- UCenter 与 DIscuz 通信失败的解决方法
问题状况:Discuz 用户无法成功修改头像且帖子中上传的图片无法保存.进入 Discuz 后台检查,一切正常:进入 UCenter 检查后发现在"应用管理"中与 Discuz 论 ...
- 当Ucenter和应用通信失败
http://blog.sina.com.cn/s/blog_775f158f010135uz.html 失败是常见的. 对于初次接触Ucenter的人来讲,添加一个自己的应用最头疼的就是发现通信失败 ...
- "SQLServer无法打开用户默认数据库,登录失败,错误4064"的解决办法
"SQLServer无法打开用户默认数据库,登录失败,错误4064"的解决办法 1.检查登录密码 如果密码错误,修改数据库密码,用windows身份验证登录进去, (1)安全--登 ...
- 关于TransactionScope出错:“与基础事务管理器的通信失败”的解决方法总结
遇到此问题先需确认几个问题: 1)MS DTC是否设置正确? 2)是否启用了防火墙?是否对DTC做了例外? 3)是否做了hosts映射?是否跨网域通信? 开发分布式事务,碰到一个错误“与基础事务管理器 ...
- entityframework分布式事务中遇到的 “与基础事务管理器的通信失败”的解决方法
首先是ef的多数据库操作实现事务的方法 public int AddDifferenceDB(userinfo1 user1, userinfo user) { ; using (var test2D ...
- 登录失败。该登录名来自不受信任的域,不能与 Windows 身份验证一起使用
登录失败.该登录名来自不受信任的域,不能与 Windows 身份验证一起使用 使用sever sql 远程连接数据库的时候遇到了这个问题,我用的是ADO.NET 实体数据模型,有web.config ...
- ucenter 通信原理个人总结
用户登陆discuz,调用on_login() , on_login ()里调用了userlogin() 验证用户信息,正确的话,调用uc_user_synlogin(),然后调用uc_api_pos ...
随机推荐
- CentOS 7 网络磁盘挂载到本地 并测试传输速度
本文中的配置只做测试使用,正式环境中考虑到安全,请自行结合网上介绍的配置细节完善配置内容. 首先明确两个概念,服务器和客户端(本地),我们要做的是将服务端的硬盘上的/home/liuyx 目录挂载到本 ...
- 用openssl生成SSL使用的私钥和证书,并自己做CA签名(转)
本 文记叙的是一次基于SSL的socket通讯程序开发中,有关证书,签名,身份验证相关的步骤. 我们的场景下,socket服务端是java语言编写的,客户端是c语言.使用了一个叫做matrixssl的 ...
- pythong 中的 __call__
python __call__ (可调用对象) __call__ Python中有一个有趣的语法,只要定义类型的时候,实现__call__函数,这个类型就成为可调用的. 换句话说,我们可以把这个类型的 ...
- Oracle执行SQL报错ORA-00922
问题描述: 对Oracle数据库执行序列化脚本出错,ora-00922 missing or invalid option #无效的选项 问题解决: 对于set define off --这个是sq ...
- 在交叉编译中使用最新版的SS
因为旧版本的ss-local总是出现 shake hands failed 错误, 打算用最新的版本试试, 所以尝试在编译中使用最新版的shadowsocks. 项目地址 Shadowsocks-li ...
- Java中创建实例化对象的几种方式
Java中创建实例化对象有哪些方式? ①最常见的创建对象方法,使用new语句创建一个对象.②通过工厂方法返回对象,例:String s =String.valueOf().(工厂方法涉及到框架)③动用 ...
- Foundations of Machine Learning: Boosting
Foundations of Machine Learning: Boosting Boosting是属于自适应基函数(Adaptive basis-function Model(ABM))中的一种模 ...
- 【LeetCode】19. Remove Nth Node From End of List (2 solutions)
Remove Nth Node From End of List Given a linked list, remove the nth node from the end of list and r ...
- java JAXB + STAX(是一种针对XML的流式拉分析API)读取xml
JDK1.5需要添加jar包,1.6以后就不需要了<dependency> <groupId>stax</groupId> <artifactId>st ...
- PostgreSQL安装详细步骤(linux)
官方安装文档:http://www.postgresql.org/download/linux/redhat/ 1. 检查PostgreSQL 是否已经安装 Linux-软件包管理-rpm命令管理-查 ...