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