我知道如何在PHP中禁用WSDL-cache,但強制重新緩存WSDL又如何呢?在php中強制重新緩存WSDL
這就是我試過的:我將緩存設置爲禁用狀態運行我的代碼,並且新方法顯示爲預期狀態。然後我激活了緩存,但由於某種原因,我舊的非工作wsdl再次出現。所以:我如何強制我的新WSDL覆蓋舊的緩存?
我知道如何在PHP中禁用WSDL-cache,但強制重新緩存WSDL又如何呢?在php中強制重新緩存WSDL
這就是我試過的:我將緩存設置爲禁用狀態運行我的代碼,並且新方法顯示爲預期狀態。然後我激活了緩存,但由於某種原因,我舊的非工作wsdl再次出現。所以:我如何強制我的新WSDL覆蓋舊的緩存?
我想你什麼時候禁用緩存它也會停止寫入緩存。因此,當您重新啓用緩存時,舊的緩存副本仍然存在且有效。您可以嘗試(啓用高速緩存)
ini_set('soap.wsdl_cache_ttl', 1);
我把時間生存在一秒鐘,因爲我覺得如果你把它零將完全禁用緩存,但不刪除該條目。當你想殺死緩存的副本時,你可能只想放入該行。
我想嘗試
$limit = ini_get('soap.wsdl_cache_limit');
ini_set('soap.wsdl_cache_limit', 0);
ini_set('soap.wsdl_cache_limit', $limit);
或可能設置soap.wsdl_cache_ttl
爲0,回
從緩存中刪除舊的WSDL。
不是一個好的解決方案。我沒有訪問服務器....即使我做..有許多肥皂服務運行。將不可能找出哪個緩存文件對應於我現在工作的ws – 2013-12-04 13:57:12
在我的php.ini有看起來像這樣的條目:
soap.wsdl_cache_dir="/tmp"
/tmp中,我發現了一堆名爲WSDL到[一些十六進制字符串]文件
我可以刷新使用此命令緩存wsdl文件:
rm /tmp/wsdl-*
這是我見過的實際工作的唯一答案。謝謝。 – 2015-01-16 14:52:13
你做了我的一天! – 2017-12-07 17:22:11