云平台报调用远程接口失败的问题分析
最近帮同事排查了一个这样的问题,类似的情况貌似不少,特总结分析一下。
问题描述:
当开通或关闭某个云平台服务的时候,报如下错误信息:
调用远程接口失败。请检查您的服务器是否处于内网以及您服务器的防火墙设置。
云平台测试站点的接口文件正常,于是开始在文件里断点记录,发现程序也执行完了。
咨询了下云平台的同事,说是有可能是超时导致的。
于是进站点后台,进入chrome开发者模式下的网络选项卡,记录所有网络链接。
然后去开通或关闭某个服务,发现需要耗时8s之久,估计确实像同事说的那样是超时导致的。
问题总结:
出现此类问题的站点一般装了很多插件,更新插件缓存时耗时太久导致云平台访问超时没有正确的返回,进而报上面的错误。
解决的方法有两种:
1> 进入后台->插件下,关闭所有的插件,然后再去云平台下开通/关闭某些服务。
2> 找到source\function\function_cloud.php文件,搜索代码
require_once libfile('function/cache'); updatecache(array('plugin', 'setting', 'styles'));
改为
//require_once libfile('function/cache'); //updatecache(array('plugin', 'setting', 'styles'));
此端更改为注释掉更新缓存的代码。
然后去后台->云平台下开通/关闭某些服务,开通或关闭后还需要再到后台->工具下手动更新一下缓存。
有此问题的站长不妨按上面的方法试下。
[...] 6.云平台回调论坛方法的操作时间超时。 在开通/关闭的操作中,云平台会回调论坛的方法进行更新缓存等操作,此步操作可能超时,导致云平台没有收到正确的返回值。 此类可参考之前一个的问题分析:http://www.liudon.org/?p=102 [...]