PHP nasıl bir WSDL önbelleğini temizleyebilirsiniz?

4 Cevap php

In php_info () aracılığıyla wsdl önbellek (/ tmp) düzenlenen, ancak wsdl ile başlayan tüm dosyaları silmek için güvenli olup olmadığını mutlaka bilmiyorum nerede.

Evet, should sadece tmp / dan, ama ben herhangi tüm wsdl dosyaları silerseniz, bu etki edebilecek başka ne bilmiyorum her şeyi silmek mümkün.

4 Cevap

Sen güvenle WSDL önbellek dosyaları silebilirsiniz. Eğer ileride önbelleğe önlemek istiyorsanız, kullanın:

ini_set("soap.wsdl_cache_enabled", 0);

veya dinamik:

$client = new SoapClient('http://somewhere.com/?wsdl', array('cache_wsdl' => WSDL_CACHE_NONE) );

Ben wsdl url bir önbellek-buster kullanmanızı öneririz.

Bizim apps böylece istemci hemen değişen yapıların bilir wsdl url bir SVN Revizyon id kullanın. Her şey biz sunucu tarafını değiştirmek, biz de buna göre müşteri ayarlamak gerekir, çünkü bu bizim uygulaması üzerinde çalışıyor.

$client = new SoapClient('http://somewhere.com/?wsdl&rev=$Revision$');

Bu düzgün yapılandırılmış svn gerektirir. Tüm depolardaki bu varsayılan olarak etkin değildir.

Durumda hem bileşenleri (sunucu, istemci) için sorumlu değildir veya size wsdl url bir önbellek-buster olarak kullanılabilecek bir başka göstergesi bulabilirsiniz SVN kullanmayın.

sunucu üzerinde / tmp klasöründeki tüm wsdl * dosyaları kaldırmak.

WSDL dosya php.ini 'de tanımlı tüm önbellek dosyaları için varsayılan konumu önbelleğe alınır. Lütfen oturum dosyalarının aynı yer.

Zaten kod dağıtılan veya herhangi bir yapılandırma değiştiremezsiniz eğer, Wsdl tüm geçici dosyaları kaldırmak olabilir:

rm /tmp/wsdl-*