PHP simplexml_load_file()清除缓存


PHP simplexml_load_file() clear cache

我使用此代码来检索一些RSS提要:

$feed = 'http://www.example.com/rss';
$feed_to_array = (array) simplexml_load_file($feed);

这显然缓存了RSS提要,因为我没有收到新的博客文章。当我在url中添加一个不存在的变量时(比如"?random=1234"),它就可以工作了。因此存在缓存问题。

我搜索了堆栈溢出和PHP文档,但找不到解决方案。clearstatcache()之类的东西不起作用。

如何防止缓存?

据我所知,PHP不为HTTP下载提供任何类型的缓存。

我有根据的猜测是,您的ISP或远程站点都实现了某种激进的服务器端缓存技术(像Varnish这样的代理或HTTP加速器)。这应该不难测试:用普通浏览器(Firefox、Chrome等)加载同一个URL两次。如有必要,请清除浏览器缓存。

这种情况可能更复杂(您的浏览器可能正在使用代理,或者远程缓存可能会验证某些HTTP标头),但这应该是第一次检查。