echo | UCenter | 2011 年 9 月 1 日其它语言如jsp等调用UCenter的同步登录接口
今天给一个站长处理jsp调用UCenter的同步登录接口,一直不返回Discuz!的值,只有其它的应用的,经过排查,该站长用的是Discuz!7.2版本,UCenter版本为1.5,control/user.php脚本里,
function onsynlogin() { $this->init_input(); $uid = $this->input('uid'); if($this->app['synlogin']) { if($this->user = $_ENV['user']->get_user_by_uid($uid)) { $synstr = ''; foreach($this->cache['apps'] as $appid => $app) { if($app['synlogin'] && $app['appid'] != $this->app['appid']) { $synstr .= '<script type="text/javascript" src="'.$app['url'].'/api/'.$app['apifilename'].'?time='.$this->time.'&code='.urlencode($this->authcode('action=synlogin&username='.$this->user['username'].'&uid='.$this->user['uid'].'&password='.$this->user['password']."&time=".$this->time, 'ENCODE', $app['authkey'])).'" reload="1"></script>'; } } return $synstr; } } return ''; }
if($app[‘synlogin’] && $app[‘appid’] != $this->app[‘appid’])做了判断,即调用的appid相同的的话,不会有返回值,UCenter1.6.0版本已经去掉了&& $app[‘appid’] != $this->app[‘appid’]这个条件,去掉后,就能得到对应应用的返回值了。
Discuz!服务器的CDN问题
有不少站都用了CDN方式优化网站访问速度,在缓存的同时,对于一些Discuz!本身需要实时读取数据的应用模块来说,就会出现问题,已知的,有头像上传失败,改不了头像,上传10%后卡在那里,论坛和UCenter通信类的,如果采用节点方式访问,会造成域名读取解析有误。目前暂无解决办法。
echo | UCenter | 2011 年 8 月 10 日备份出现“无法访问到该应用的备份接口”的问题
UCenter 进行备份时,经常会遇到这个问题:
备份提示:无法访问到该应用的备份接口,请拷贝 UCenter 根目录下 api/dbbak.php 到该应用的 api 目录下。
一般情况下都是空间的fsockopen函数禁用有关,还有地址这一块,UCenter IP等等,都会出现这个问题。