【发布时间】:2017-10-25 02:50:34
【问题描述】:
我们正在使用 simplexml_load_file() 来获取新闻报道的 RSS 提要。原始 xml 提要构建日期会定期更新,但是如果我在使用 simplexml_load_file() 时使用 print_r 查看提要的数据,则构建日期不会像原始提要那样经常更新。
例如现在 simplexml 输出这个构建日期:
[lastBuildDate] => Tue, 23 May 2017 18:27:26 +0000
但是到 xml 的实际直接链接是这样说的:
<lastBuildDate>Wed, 24 May 2017 16:21:44 +0000</lastBuildDate>
...我们缺少最新版本中的数据(来自提要的故事)。
更奇怪的是,只有我们提取的一些 RSS 提要具有这种行为,尽管我们以相同的方式加载它们。源自我们服务器的提要很好,来自外部来源的另一个提要很好,但来自另一个外部来源的两个提要是罪魁祸首。
我们只是这样做:
<?php
$xml=simplexml_load_file("http://path/to/xml/file");
print_r($xml);
?>
在每次页面加载时,我们的目标是获取来自 RSS 提要的最新数据。我们还在页头(缓存控制和编译指示)中放置了一些缓存破坏的东西,但它没有帮助。我们缺少什么?
这是我们安装的:PHP 版本 5.6.30 和 Apache/2.2.15 (Unix)。
【问题讨论】:
-
工作正常eval.in/804559
-
Sahil - 也许我不太清楚。为了澄清 - 我不是在寻找一个字符串。我有一个实际的 RSS 提要,其中的实际构建日期不断变化。我需要最新的,SimpleXML 为我提供了几个小时前构建的提要中的数据。
-
我很确定这是服务器级别的缓存问题。有什么想法吗?
-
我也有同样的问题。 SimpleXML 和一切都设置得很好。一些 RSS 提要在刷新时显示新帖子,有些则没有...我尝试设置
header('Cache-Control: no-cache');但这也无济于事...任何其他想法。使用 SimplePie 对我来说并不是一个真正的选择......