uc通讯不成功php版本过高,Discuz!一次uc通信失败的解决

近些日子,无忧主机小编在自己的无忧PHP空间装了一个Discuz在上面进行升级测试,遇到了有一个比较难缠的问题,也就是出现“UC通信失败”,折腾了小编好几天。终于发现了问题,现在把处理问题的过程分享给各位站长朋友,以便各位朋友碰到有类似问题不知道如何解决。

测试环境使用的是正式环境的文件,只是修改了数据库的配置(config_global.php),在网站的根目录,让其连接数据库,其实就是这么简单的修改,让后续问题复杂起来。

论坛很容易就运转起来,但是与uc通信时,却始终提示不成功。小编寻求官方论坛的帮助,在官网上查找了许多文章,也没有找到对症的解决方法。后来小编去下载官方的一个repair_uc.php,用它来测试,也总是提示失败,到最后,发现输出的状态中,有ACSII码的特殊字符,因为是3个字符,而小编使用utf-8编码,所以很容易就联想到utf-8签名(有的称bom头),但具体到时哪一个文件引起,就需要查找了。因为环境是不变的(包括配置文件的修改,所以一时没有意识到是config_global.php的原因),小编只能逐步排查代码,花费一天的上班时间,最终确定问题在include这个配置文件后,页面多输出信息。此时才通过查看文件编码,发现是“utf-8”,而不是“utf-8 无签名”,因为无忧主机PHP空间一直使用“utf-8无bom”,于是另存文件,再测试——通信正常!

原来还是老问题重谈,但是很少会有站长朋友会想到这个UC通信失败的问题竟是这个可恶的bom导致的,所以在这里特意整理成文档方便大家。

无忧主机PHP空间在执行include文件时,有几点是需要注意的,一个是文件的结束符(?>)后,不能有多余的符号或者空行;使用utf-8编码时,要注意文件保存为无签名(或无bom头)格式。否则可能会出些莫名其妙的错误。

希望可以帮助到各位站长朋友!

无忧主机相关文章推荐阅读:

DISCUZ防注册机器人新攻略

DISCUZ!X2.5 UTF8转换为GBK方法

DISCUZ X2.5实名认证和商家认证设置方法

通过改聚合标签的数量实现DISCUZ门户文章标签功能

本文地址:https://www.51php.com/discuz/16384.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值