Discuz教程网

Discuz X2.5“调用远程接口失败,请检查您的服务器是否处于内网以及您服务器的防火墙

[复制链接]
authicon dly 发表于 2012-12-19 21:36:50 | 显示全部楼层 |阅读模式
1,首先确定你服务器时间准确,和北京时间误差最好2分钟内,最大不要超过5分钟,时间差过大会导致加密校验失效;

2,确定是是否是在内网测试,内网不支持使用云平台,请换到公网上进行测试;

3,如果是公网,先确定服务器开放的是80端口,目前只支持80端口使用云平台;

4,如果80端口没问题,请检查你云平台的诊断信息,看看云平台接口和漫游端口是否是通的: 232954cme1s4a5dsde3ac1.png
如果其他接口全部解析失败的话,那么咨询空间商是否开启了防火墙,联系空间商解决这个问题;
5,(1)上一条测试的是站点是否能连到云平台服务器,这一步就要测试云平台是否到站点是通的,
(2)要开通云平台,云平台服务器要连接到你的站点,实现接口通信,必须从云平台的服务器发起请求到站点的 api/manyou/my.php。如果此请求有防火墙阻挡,那么接口调用会失败,无法完成一些服务必须的功能。如果不关闭防火墙,也要设置允许 api/manyou/my.php 不受防火墙拦截。这一点站长可以访问: /api/manyou/my.php看看是否正常,如果不正常的话,请检查服务器文件是否完全,是否有权限,
(3)有的站点服务器设置了跳转等其他功能,即使这个文件能访问,云平台服务器用curl还是访问不到,测这一步的站点最好跟帖留一下域名,我们可以从云平台服务器给你测试一下,并给你回复;

6,如果上面5条都没问题,如果你是Discuz! X2你可以找到"apimanyoumy.php"文件的第2222行左右的两行代码:
  1. require_once libfile('function/cache');
  2. updatecache(array('plugin', 'setting', 'styles'));
复制代码

修改为:
  1. //require_once libfile('function/cache');
  2. //updatecache(array('plugin', 'setting', 'styles'));
复制代码

如果你是Discuz! X2.5,可以找到文件"\api\manyou\Service\Server\Cloud.php"注销掉60到64行:
  1. try {
  2. require_once libfile('function/cache');
  3. updatecache(array('plugin', 'setting', 'styles'));
  4. } catch (Exception $e) {
  5. }
复制代码

修改为:
  1. //try {
  2. // require_once libfile('function/cache');
  3. // updatecache(array('plugin', 'setting', 'styles'));
  4. //} catch (Exception $e) {
  5. //}
复制代码

原理:有些站点安装很多插件,不乏一些程序臃肿的插件,而操作云平台时,需要更新服务器的所有缓存,而时间限制是30秒,这样就会导致操作云平台因超时而报这个错误,注销掉既能解决这个问题;
注意:这样操作的用户每次操作完云平台要手动更新一下缓存,否则云平台的菜单可能不更新;
(不推荐注销代码的方式解决此问题,因为同步又会出问题,最好是卸载掉所有的插件来修复此问题,修复之后再按照自己的需求开启插件,当开启某插件而导致云平台又不能使用时,就能确定是哪个插件的问题了)

7,如果上面6个步骤都不能解决问题,请重新覆盖一下最新的程序文件以保证程序的完整性和准确性。



上一篇:提高电子商务网站收录率的方法分享
下一篇:新版“华为网盘Discuz论坛插件”正式上线,上线应用中心【免费下载】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 12:48

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表