虚拟主机域名注册-常见问题 → 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通信成功。到此问题已经成功解决。
|
|||||||
>> 相关文章 | |||||||
发表评论 | |||||||