2

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

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

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

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

如何防止缓存?

4

1 回答 1

2

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

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

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

于 2013-08-14T12:10:22.163 回答