2012-12-09 24 views
5

के साथ समस्याएं मैंने सफलतापूर्वक क्लाइंट और सर्वर साबुन ऑब्जेक्ट बनाया है ... लेकिन मुझे लगता है कि सर्वर की ओर कैशिंग के साथ वास्तविक समस्याएं हैं। मैं के साथ दोनों क्लाइंट और सर्वर स्क्रिप्ट पर सभी कैशिंग अक्षम करने हूँ:PHP साबुन सर्वर कैशिंग प्रतिक्रिया

ini_set("soap.wsdl_cache", "0"); 
ini_set("soap.wsdl_cache_ttl", "0"); 
ini_set("soap.wsdl_cache_enabled", "0"); 

लेकिन मैं वास्तव में सर्वर से एक ही प्रतिक्रिया कोई फर्क नहीं पड़ता कि मुझे क्या करना प्राप्त करने के लिए लग रहे हैं। मैंने ऑब्जेक्ट नाम बदल दिए हैं, डब्लूएसडीएल नाम बदल दिया है और ऑब्जेक्ट नामों में एक टाइमस्टैंप भी लगाया है ताकि यह सुनिश्चित किया जा सके कि यह कभी भी एक ही कॉल नहीं है। फिर अचानक, लगभग 10 या 20 मिनट के बाद या तो यह अपडेट हो जाएगा और मुझे एक अलग प्रतिक्रिया मिलेगी। मैंने phpinfo() की जांच की है और यह कहता है कि कैशिंग टीटीएल एक दिन लंबा (वैश्विक स्तर पर) है, इसलिए मुझे लगता है कि यह निश्चित रूप से उससे छोटा है।

किसी भी प्रकार की कैशिंग को मारने के बारे में कोई विचार? यदि यह मदद नहीं करता है wsdl कैश फ़ाइल स्पष्ट करने की कोशिश

$client = new SoapClient("some.wsdl", array('cache_wsdl' => WSDL_CACHE_NONE)); 

$server = new SoapServer("some.wsdl", array('cache_wsdl' => WSDL_CACHE_NONE)); 

:

उत्तर

0

आप साबुन वस्तुओं के लिए विकल्पों गुजर कोशिश कर सकते हैं। लिनक्स पर, यह आमतौर पर/tmp फ़ोल्डर में होता है और इसका नाम wsdl- से शुरू होता है। अगर इस फ़ाइल को साफ़ करने में मदद नहीं मिलती है, तो शायद कुछ अन्य कैश का उपयोग किया जा सकता है? क्या यह सिर्फ सोपसेवर है या कुछ अतिरिक्त libs उपयोग किया जाता है?

+0

धन्यवाद $ सर्वर = नया साबुन सर्वर ("some.wsdl", सरणी ('cache_wsdl' => WSDL_CACHE_NONE)); मेरे लिए काम किया –

0

मैं एक ही मुद्दा था, और स्थापित करने के लिए कोशिश कर रहा है:

new SoapClient("some.wsdl", array('cache_wsdl' => WSDL_CACHE_NONE)) 

कुछ नहीं किया।

अंत में, मैं wsdl फ़ाइल को कैश करने के लिए उपयोग किए जाने वाले सर्वर/tmp फ़ोल्डर को ढूंढता हूं और इसे हटा देता हूं। फिक्स्ड!

/tmp फ़ोल्डर मेरे वर्चुअल डोमेन/tmp फ़ोल्डर में नहीं था, लेकिन सर्वर निर्देशिका की जड़ पर था।

संबंधित मुद्दे