700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > uc通讯不成功php版本过高 Ucenter通信失败排查方法

uc通讯不成功php版本过高 Ucenter通信失败排查方法

时间:2020-05-20 13:50:26

相关推荐

uc通讯不成功php版本过高 Ucenter通信失败排查方法

定位错误来源:

1. 使用firebug或类似于firebug的工具审查”通信失败“这几个字

2. 会发现包含这几个字的div的同级下方有个script标签,复制该script标签的src值到浏览器的新标签页并打开

3. 这个url指向的是ucenter中app模块的onping操作(ucenter/control/admin/app.php)

onping解析:

1. onping会向url中指定的应用的uc.php发出一个请求,请求的参数为要执行的存在于uc.php中的动作的动作名test以及一个时间戳

2. uc.php收到请求会执行test,并返回1

通信失败排查方法:

根据上面的解析可知,如果通信失败就说明应用中的uc.php并没有正常的返回1,此时就要排查uc.php出了什么问题:

1. 在onping中输出$url(该url为ucenter根据自己设置的应用信息组成的uc.php的url),检查该url是否可以正常访问到应用中的uc.php,如果不能请修改

2. 如果可以正常访问且没有报错,那么就要一步步的排查uc.php的执行状况了

最终的目的就是让$url的输出为1

一个比较怪异的问题:

有时候会发现$url的输出值为 "乱码1",而导致通信失败...

这里的乱码其实是uc.php文件或者uc.php加载的其他文件的bom头,要去除它,就要排查哪个文件中存在这个bom头然后去掉,如果实在找不到,还有个治标不治本的方法:

(为返回状态值做去除bom头的操作)

代码:

function rmBOM($string)

{

if (substr($string, 0,3) == pack('CCC',0xef,0xbb,0xbf))

{

$string = substr($string, 3);

}

return $string;

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。