Discuz 3.4 升级到 3.5 后 UC “通信失败”
原来 Discuz 3.4(UTF8) 的时候只要设置应用IP为127.0.0.1就会UC通信成功,5月份升级到 3.5后,一直通信失败:
图中 ID 18(原来是13)5月份先升级,8月初又升级的 ID 17。两者共用数据库。
已知:如果应用里面不写IP地址,则应用内通信失败:
如果应用内填写IP地址(127.0.0.1 或者 内网地址 192.168.0.2),则应用内必然通信成功。
做过如下排查努力:
请问我还可以通过哪些方面进行排查呢?
我知道答案 回答被采纳将会获得1 贡献 已有1人回答
图中 ID 18(原来是13)5月份先升级,8月初又升级的 ID 17。两者共用数据库。
已知:如果应用里面不写IP地址,则应用内通信失败:
如果应用内填写IP地址(127.0.0.1 或者 内网地址 192.168.0.2),则应用内必然通信成功。
做过如下排查努力:
- UC中先设置好,再粘贴底部文本框的配置信息到应用的 config_ucenter.php检查应用 ID 与 UC 中一致检查 Config_inc.php 的 UC_KEY 一致检查 uc_server/data/cache/apps.php 中的 authkey 与 上面的 UC-KEY 一致。检查 uc_client/data/cache/apps.php 中的应用 appid 与 UC 一致。应用和UC同时设置IP为 127.0.0.1 或者 内网地址 192.168.0.2检查所有的 data 目录及子目录、api/uc.php权限为777,所有者为 www检查服务器环境支持 fsockopen应用中更新缓存、UC中更新缓存在 phpmyadmin 中清空了 common_syscache 整个表,并用 Tools急诊箱更新了缓存。UC中删除应用并重新添加同步了服务器时间用F12获得“通信失败”对应的script链接:http://www.dianbo.org/uc_server/admin.php?m=app&a=ping&inajax=1&url=https%3A%2F%2Fwww.dianbo.org&ip=192.168.0.2&appid=18&random=1388645138&sid=e17euJ1c6tMrwu5ewIeMXXXXXXXXX,地址栏直接访问它结果为:
- 根据网上教程(https://blog.csdn.net/iastro/article/details/52398813)在 uc_server/control/admin/app.php 中的前或后附近插入一个断点:
- if($status == '1') {
获取到的 $url 为 https://www.dianbo.org/api/uc.php?code=XXXX ,若直接访问此 $url 则返回值为1,- echo "\$url = $url <br />\n \$status = $status<br />\n";die('haha');
但直接访问 http://www.dianbo.org/uc_server/admin.php?m=app&a=ping&inajax=1&url=https%3A%2F%2Fwww.dianbo.org&ip=192.168.0.2&appid=18&random=1388645138&sid=e17euJ1c6tMrwu5ewIeMXXXXXXXXX 时,status 却为空:
参考网上教程(https://blog.csdn.net/hubu2006/article/details/22301745),将 写入文件 uc2.php,在UC中编辑应用,修改接口文件名称为 uc2.php,仍然通信失败。- <?php echo 1;?>
网页上说“如果不能通信,则是UC服务端无法通过fsockopen访问客户端,可能是域名解析问题,也可能是填写的IP问题”,但是我的服务端和客户端都在一个服务器上,填写127.0.0.1或192.168.0.2有什么不对呢?
请问我还可以通过哪些方面进行排查呢?
我知道答案 回答被采纳将会获得1 贡献 已有1人回答