web-dev-qa-db-fra.com

Dans PHP comment effacer un cache WSDL?

Dans php_info() où le cache WSDL est conservé (/tmp), mais je ne sais pas nécessairement s'il est prudent de supprimer tous les fichiers commençant par WSDL.

Oui, je devrait être capable de tout supprimer de /tmp, mais je ne sais pas quoi d'autre cela pourrait affecter si je supprime tous les fichiers WSDL.

83
jW.

Vous pouvez supprimer en toute sécurité les fichiers de cache WSDL. Si vous souhaitez empêcher la mise en cache future, utilisez:

ini_set("soap.wsdl_cache_enabled", 0);

ou dynamiquement:

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

supprimez tous les fichiers WSDL * de votre dossier/tmp sur le serveur.

Les fichiers WSDL sont mis en cache dans votre emplacement par défaut pour tous les fichiers de cache définis dans php.ini. Même emplacement que vos fichiers de session.

21
user3259435

si vous avez déjà déployé le code ou ne pouvez modifier aucune configuration, vous pouvez supprimer tous les fichiers temporaires de wsdl:

rm /tmp/wsdl-*
10
Markomafs

Juste pour la raison de la documentation:

J'ai maintenant (2014) observé que parmi toutes ces approches valables et correctes, une seule a réussi. J'ai ajouté une fonction au WSDL sur le serveur et le client n'a pas reconnu la nouvelle fonction.

  • Ajouter WSDL_CACHE_NONE aux paramètres n'a pas aidé.
  • L'ajout du cache-buster n'a pas aidé.
  • Réglage soap.wsdl_cache_enabled à la PHP ini aidé.

Je ne sais plus si c'est la combinaison des trois, ou si certaines fonctionnalités sont terriblement implémentées pour rester inutiles au hasard, ou s'il existe une hiérarchie de fonctionnalités non comprises.

Enfin, attendez-vous à ce que vous deviez vérifier les trois problèmes pour résoudre des problèmes comme ceux-ci.

4
peter_the_oak

Editez votre php.ini fichier, recherchez soap.wsdl_cache_enabled et définissez la valeur sur 0

[soap]
; Enables or disables WSDL caching feature.
; http://php.net/soap.wsdl-cache-enabled
soap.wsdl_cache_enabled=0
0
Kiran Reddy