我使用此代码检索一些RSS提要:
$feed = 'http://www.example.com/rss';
$feed_to_array = (array) simplexml_load_file($feed);
这显然缓存了RSS提要,因为我没有收到新的博客文章。当我向网址添加一个非现有变量时(例如'?random = 1234'),它可以正常工作。所以有一个缓存问题。
我搜索了堆栈溢出和PHP文档,但我找不到解决方案。像clearstatcache()这样的东西不起作用。
如何阻止缓存?
答案 0 :(得分:2)
据我所知,PHP没有为HTTP下载提供任何类型的缓存。
我有根据的猜测是,您的ISP或远程站点实施某种积极的服务器端缓存技术(代理或像Varnish这样的HTTP加速器)。这应该不难测试:使用常规浏览器(Firefox,Chrome等)加载相同的URL两次。如有必要,请清除浏览器缓存。
方案可能更复杂(您的浏览器可能正在使用代理,或者远程缓存可能会验证某些HTTP标头),但这应该是第一次检查。