在 php 中强制重新缓存 WSDL
2022-08-31 00:04:02
我知道如何在PHP中禁用WSDL缓存,但是强制重新缓存WSDL呢?
这就是我尝试过的:我在将缓存设置为禁用的情况下运行代码,并且新方法显示为espected。然后我激活了缓存,但由于某种原因,我的旧的不工作的wsdl再次出现。那么:如何强制我的新 WSDL 覆盖我的旧缓存?
我知道如何在PHP中禁用WSDL缓存,但是强制重新缓存WSDL呢?
这就是我尝试过的:我在将缓存设置为禁用的情况下运行代码,并且新方法显示为espected。然后我激活了缓存,但由于某种原因,我的旧的不工作的wsdl再次出现。那么:如何强制我的新 WSDL 覆盖我的旧缓存?
我猜当你禁用缓存时,它也会停止写入缓存。因此,当您重新启用缓存时,旧的缓存副本仍将有效。您可以尝试(启用缓存)
ini_set('soap.wsdl_cache_ttl', 1);
我输入了一秒钟的生存时间,因为我认为如果将零放入其中,它将完全禁用缓存,但不会删除该条目。您可能只想在要杀死缓存的副本时才要放入该行。
在我的php中.ini有一个条目看起来像这样:
soap.wsdl_cache_dir="/tmp"
在 /tmp 中,我发现了一堆名为 wsdl 的文件-[一些十六进制字符串]
我可以使用以下命令刷新缓存的wsdl文件:
rm /tmp/wsdl-*