discuz云平台报调用远程接口失败的问题分析和解决
根據網絡兩篇文章整理
問題描述:
當開通或關閉某個云平臺服務的時候,報如下錯誤信息:
調用遠程接口失敗。請檢查您的服務器是否處于內網以及您服務器的防火墻設置。
云平臺測試站點的接口文件正常,于是開始在文件里斷點記錄,發現程序也執行完了。
咨詢了下云平臺的同事,說是有可能是超時導致的。
于是進站點后臺,進入chrome開發者模式下的網絡選項卡,記錄所有網絡鏈接。
然后去開通或關閉某個服務,發現需要耗時8s之久,估計確實像同事說的那樣是超時導致的。
問題總結:
出現此類問題的站點一般裝了很多插件,更新插件緩存時耗時太久導致云平臺訪問超時沒有正確的返回,進而報上面的錯誤。
?
?
解決辦法:
找到文件"\api\manyou\Service\Server\Cloud.php"注銷掉60到64行:
try {require_once libfile('function/cache');updatecache(array('plugin', 'setting', 'styles'));cleartemplatecache();} catch (Exception $e) {}?
?
修改為:
//try {// require_once libfile('function/cache');// updatecache(array('plugin', 'setting', 'styles'));// cleartemplatecache();// } catch (Exception $e) {//}?
原理:有些站點安裝很多插件,不乏一些程序臃腫的插件,而操作云平臺時,需要更新服務器的所有緩存,而時間限制是30秒,這樣就會導致操作云平臺因超時而報這個錯誤,注銷掉既能解決這個問題;注意:這樣操作的用戶每次操作完云平臺要手動更新一下緩存,否則云平臺的菜單可能不更新;(不推薦注銷代碼的方式解決此問題,因為同步又會出問題,最好是卸載掉所有的插件來修復此問題,修復之后再按照自己的需求開啟插件,當開啟某插件而導致云平臺又不能使用時,就能確定是哪個插件的問題了)
??
?
看了各種辦法,還是以上這個辦法(相比原文,這里只需要修改cloud.php這一個文件)好使,更新代碼后,記得要在admin后臺工具手動更新下緩存。
轉載于:https://www.cnblogs.com/luowei/p/5029862.html
總結
以上是生活随笔為你收集整理的discuz云平台报调用远程接口失败的问题分析和解决的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【noiOJ】P1996
- 下一篇: Esper系列(十二)Variables