今天所做的努力
都是在为明天积蓄力量

ucenter通信失败,如何调试及排查原因

注意,uc.php接口如何调试,(api/uc.php的作用是把论坛等其它应用,传送过来的用户名等信息,向自己的系统中同步登录,或同步注册会员),查看这里的教程.http://blog.csdn.net/viqecel/article/details/52492081

ucenter 提示通信失败,是因为在\uc_server\control\admin\app.php 这个函数中,function onping() 返回的值不是1.

在大约132有这么一句

} else {
        //echo $url;exit();
        echo 'document.getElementById(\'status_'.$appid.'\').innerHTML = "<img src=\'images/error.gif\' border=\'0\' class=\'statimg\' \/><span class=\'red\'>'.$this->lang['app_connent_false'].'</span>";testlink();';
    }

我们可以在else{ 的后面增加echo $url;exit();然后想办法查看.他返回的网址是多少.

怎么看呢.可以用谷歌浏览器,进后台uc后台应用管理后,点击键盘上的f12,进入谷歌调试模式.然后.点击左下角的小箭头,如下图一,点击一下 通信失败 这四个字.看下他对应的网址是多少.

如图

然后,下图,注意红框中的关键点,找到 源码代码中的 通信失败或通信成功 四个字,他的下面,即对应的script里面的网址,右键,复制网址,在浏览器中打开.即可返回我们要的内容.

假如他返回的网址是http://www.viq.com/api/uc.php?code=612122

则直接打开这个网址,看下他返回什么信息.如果404,则这个文件不存在,所以通信失败.如果是空白内容,则找一下api/uc.php这个文件,把开头的error_reporting(0); 这一句注释掉,看一下这个文件是不是有什么报错.解决好php或sql错误后,再把error_reporting(0);前面的注释去掉.

然后,\uc_server\control\admin\app.php 把这个文件的echo $url;exit();这一句注释掉,重新打开上面,右键复制的那个网址,看下返回的是不是1,如果返回的是1,则应用管理列表中,会显示通信成功.

当然前提是你有uc.php这个通信接口,并且接口中有一个test函数.具体看官方demo吧.

function test(

get,

post) {return API_RETURN_SUCCEED;}

赞(0)
未经允许不得转载:流觞博客 » ucenter通信失败,如何调试及排查原因
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

今天所做的努力都是在为明天积蓄力量

联系我们留言建议