PHP でWSDL キャッシュを無効にする方法は知っていますが、WSDL の再キャッシュを強制するにはどうすればよいですか?
これは私が試したことです。キャッシュを無効にしてコードを実行すると、新しいメソッドが表示されました。その後、キャッシュを有効にしましたが、何らかの理由で、動作していない古い wsdl が再び表示されました。では、新しい WSDL で古いキャッシュを強制的に上書きするにはどうすればよいでしょうか?
PHP でWSDL キャッシュを無効にする方法は知っていますが、WSDL の再キャッシュを強制するにはどうすればよいですか?
これは私が試したことです。キャッシュを無効にしてコードを実行すると、新しいメソッドが表示されました。その後、キャッシュを有効にしましたが、何らかの理由で、動作していない古い wsdl が再び表示されました。では、新しい WSDL で古いキャッシュを強制的に上書きするにはどうすればよいでしょうか?
キャッシュを無効にすると、キャッシュへの書き込みも停止すると思います。そのため、キャッシュを再度有効にすると、キャッシュされた古いコピーがまだ存在し、有効になります。あなたは試すことができます(キャッシュを有効にして)
ini_set('soap.wsdl_cache_ttl', 1);
有効期限を 1 秒に設定しました。ゼロを設定すると、キャッシュは完全に無効になりますが、エントリは削除されないと思います。おそらく、キャッシュされたコピーを強制終了したい場合にのみ、その行を入れたいと思うでしょう。
古い WSDL をキャッシュから削除します。
やってみます
$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 に設定して戻す