16

PHP でWSDL キャッシュを無効にする方法は知っていますが、WSDL の再キャッシュを強制するにはどうすればよいですか?

これは私が試したことです。キャッシュを無効にしてコードを実行すると、新しいメソッドが表示されました。その後、キャッシュを有効にしましたが、何らかの理由で、動作していない古い wsdl が再び表示されました。では、新しい WSDL で古いキャッシュを強制的に上書きするにはどうすればよいでしょうか?

4

4 に答える 4

38

キャッシュを無効にすると、キャッシュへの書き込みも停止すると思います。そのため、キャッシュを再度有効にすると、キャッシュされた古いコピーがまだ存在し、有効になります。あなたは試すことができます(キャッシュを有効にして)

ini_set('soap.wsdl_cache_ttl', 1);

有効期限を 1 秒に設定しました。ゼロを設定すると、キャッシュは完全に無効になりますが、エントリは削除されないと思います。おそらく、キャッシュされたコピーを強制終了したい場合にのみ、その行を入れたいと思うでしょう。

于 2008-11-27T12:23:37.430 に答える
3

古い W​​SDL をキャッシュから削除します。

于 2008-11-27T12:14:06.840 に答える
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 に設定して戻す

于 2008-11-27T12:11:39.107 に答える