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


PHP cache script won't cache the php-file

我试图缓存一个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文件

您尝试过其他浏览器吗?至少可以说,Firefox的缓存是一堆热气腾腾的*。此外,.htaccess并不是唯一的东西——Apache的配置很可能需要对脚本所在目录的AllowOverride指令进行一些调整。

另外,尝试使用Wireshark来观察网络上的内容-发送了哪些报头,真正接收了哪些报头?

我想你应该修复这个Last-modified:参数