虚拟主机域名注册-常见问题CMS教程问题 → 齐博CMS


齐博cms(qibosoft)与ucenter整合通信失败的调试方法
作者:

背景:

服务器有6个齐博网站,全部整合ucenter,之前整合通信全部正常,忽有一日发现一个网站uc通信失败,删除uc这个相应的应用,然后重新整合仍然提示失败,最后找到以下解决方法,问题解决,方法如下:

分析:

其他5个齐博网站整合ucenter通信正常,说明网站程序正常、服务器环境正常,那问题可能就出在通信失败的那个网站上面。

解决方法一(实践后没有解决我的问题,但是为方法二提供了思路):

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.sinmeng.net/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;}

解决方法二


ucenter 提示通信失败,是因为在\uc_server\control\admin\app.php 这个函数中,function onping() 返回的值不是1,我们可以看到这个$status 等于1的时候会输出通信成功,除此之外输出通信失败。 好,那我们直接输出这个 $status ,看看不等于1的时候他是个什么东东。 在if($status == '1') 上面打印下$url和$status : 

} 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();';  
    }

之后保存代码。

重新点击,uc应用列表,通信失败,右键审查元素。代码如下:

} 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();';  
    }

从上面的testlink右健点击进去的页面如下:


根据提示,看出是权限问题,修改权限:


通信成功!

另一个是数据库连接不上问题:


修改后,通信成功。

以上是网络上面的方法,经过此方法修改,发现自己的出错的原因是301重定向提示,突然想起来通信失败的网站前几天通过伪静态,设置了301重定向。先删除了伪静态301的规则,测试提示通信成功,发现是301伪静态规则写的有问题,后重新修改了301伪静态规则,再次测试uc通信成功。到此问题已经成功解决。



来源:
阅读:2380
日期:2016-10-24

推荐朋友 】 【 评论 】  【 字体: 】 
上一篇:多条件搜索筛选 js实现多条件组合搜索筛选
下一篇:【百度官方说法】百度对网页内容大小和字符有要求吗?
  >> 相关文章
 
发表评论


点  评: 字数0
用户名:  密码:

  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款