问题描述:
今天一个用户,他用dedecms绑定了一个uc,但是在uc后台添加应用的时候
显示通信失败
解决办法:
经过反复查找,问题锁定在 UC后台文件夹/control/admin/app.php 这个文件第131行到135行代码
if($status == '1') {
echo 'document.getElementById(\'status_'.$appid.'\').innerHTML = "'.$this->lang['app_connent_ok'].'";testlink();';
} else {
echo 'document.getElementById(\'status_'.$appid.'\').innerHTML = "'.$this->lang['app_connent_false'].'";testlink();';
}
这里有个判断,当$status == '1'的时候,通信成功,否则通信失败,然后我echo出来,发现$status输出的是1,然后我有用var_dump函数试了下,一试发现问题所在了,结果是string(4) "1",而‘1’ var_dump之后是string(1)"1",这样显然不对了,多了这三个字节从哪里来的呢,经过反复测试,我基本确定这个问题是因为“UTF- 8编码的文件中,BOM占三个字节”,所以接下来花了些时间找他网站里面修改过的文件,花了一些时间总算找到问题文件,织梦目录下/data/common.inc.php
改成utf-8无bom,收工!
大型站长资讯类网站! https://www.86zz.com.cn