数据载入中,请稍后......
 
展开
懒人码库客户端 点击或扫描下载
欢迎来到懒人码库!懒人码库QQ群:19651313
欢迎来到懒人码库!懒人码库QQ群:19651313  
当前位置:懒人码库 > 开源系统 > Discuz!

ucenter的uc_user_synlogin没有返回值的问题

2015-05-29 17:30 来源:www.lanrenmaku.com / 作者:懒人 已被阅读:次 分类:Discuz! 上一篇:UCenter同步登录和数据仓库的原理总结 下一篇:ucenter1.6网站接口示例

照我看,ucenter所有问题都几乎被我遇到了,今天又是半天折腾这个问题:ucenter的uc_user_synlogin的返回值为空!囧了,第一次遇到。

直接说解决办法:我也不知道怎么好的,但是当我把api文件夹和uc_client文件夹重新上传覆盖以后就好了,我很纳闷,我想分析到底是哪里出问题了。

本来我是直接在www.blogguy.cn服务器上操作的,服务器是nginx的,整合ucenter也一起顺利,但是就是没有uc_user_synlogin返回值。

服务器上的返错没有开启来,被逼无奈在本地架了一个apache环境跑ucenter。然后把服务器上的应用拉下来,发现还是没有返回值,在我意料中。于是跑到discuz论坛上下载了一个uchome安装,我是想试试uchome是不是可以正常调用uc_user_synlogin函数,一安装发现居然发现uc_user_synlogin可以正常返回值,这下才是丈二和尚摸不着头脑了。

服务器也如法炮制,上传一个uchome,发现还是没有获取到uc_user_synlogin返回值,反复到ucenter的后台去看,确定同步登录都开起来了,但是还是不行,uc_user_synlogin就是返回空,啥都没有,想哭。最后也不知道怎么折腾的,突然发现可以了,真是泪流满面啊,你倒是告诉我你怎么可以的呀?

废话说太多,几点小经验:

1、如果ucenter只有一个应用或者只有一个同步登录的应用,ucenter的uc_user_synlogin是不会返回值的,因为你都没有需要同步的应用,他为什么要返回值啊?我一开始犯的是这个错误,所以调试的时候你最好多新建一个应用。

2、重新上传一个api文件夹和uc_client文件夹,我也不知道什么原因,反正我重新上传就可以了,另外官方ucenter的文件包貌似有问题最好下载developguide.zip开发包里面的文件。

3、注意缓存目录的可写权限,注意看看ucenter客户端的data目录的权限和客户端的权限(一般来说不会在客户端有问题)

4、犹如blogguy.cn遇到的问题一样,如果你自己开发的应用发现没有返回uc_user_synlogin的返回值,请下载一个康盛官方的产品,比如uchome或者dz等,安装上去试试,一般来说如果uchome也能正常返回uc_user_synlogin的返回值,那么可能你自己的应用也能返回值了,没有原因,只是一个取巧的办法而已。

5、把firefox的firebug开起来,或者opera的dragonfly开起来,ie下面的debugbar 或者httpwatch 开起来,跟踪一下跟服务器交互的数据有没有问题?

最后说说uc_user_synlogin能够同步退出和登录的原理。

uc_user_synlogin执行成功以后返回的是一个字符串,这个字符串是一串javascript代码,这串代码是使用javascript的方式访问每个需要同步的应用的接口文件,这个接口文件一般是/api/uc.php,这个接口文件负责把登录或者退出的信息记录下来,详细的使用方法我想以后会介绍的。这也就是为什么我们登录的时候感觉跳转速度有点慢,就是这个原因。

最后传两张blogguy.cn自己截图的登陆退出同步的图片,如果没有返回图片中的数据,那么你肯定uc_user_synlogin没有正常工作,需要好好查查了。

大小: 78.56 K
尺寸: 550 x 241
浏览: 24 次
点击打开新窗口浏览全图

大小: 92.1 K
尺寸: 550 x 337
浏览: 18 次
点击打开新窗口浏览全图

 

小贴士:懒人码库 为网页前端人员提供建站常用的广告代码和网页特效,内容涵盖焦点图,导航菜单,jQuery代码,图片特效,对联广告,日历控件,在线客服等。