PHP缓存脚本不会缓存php文件

时间:2012-12-28 09:10:41

标签: php caching

我正在尝试缓存一个在一个站点上成功的PHP文件,但是当我在另一个网站上实现代码时,它不会被缓存。我使用Firebug进行了检查,得到了200 OK状态,这意味着每次页面刷新时都会从服务器下载。

这是我的代码:

$now          = time();
$generatedAt  = gmdate('D, d M Y H:i:s T', $now);
$lastModified = gmdate('D, d M Y 00:00:00 T', $now);
$expiresAt    = gmdate('D, d M Y H:i:s T', strtotime($lastModified) + 8035200);
$maxAge       = strtotime($expiresAt) - strtotime($generatedAt);

header('Last-modified: '.$lastModified);
header('Cache-control: max-age='.$maxAge);

额外信息:

它是从我的其他网站复制的,我获得了304 NOT MODIFIED状态,这意味着它会被缓存。

此代码位于文件的顶部,没有回声或输出,这意味着尚未发送标题。

我的.htaccess文件配置正确,我没有指定它不应该缓存PHP文件。

2 个答案:

答案 0 :(得分:1)

您是否尝试过其他浏览器?至少可以说,Firefox的缓存是一堆热闹的 * 。此外,.htaccess不是唯一的事情 - Apache配置很可能需要在脚本所在目录的AllowOverride指令中进行一些调整。

另外,尝试使用Wireshark来观察通过网络发送的内容 - 发送了哪些标头以及真正收到了哪些标头?

答案 1 :(得分:-1)

我想您应该修复此Last-modified:参数。