我想緩存一個PHP站點上成功的文件,但是當我在另一個站點上執行代碼時,它不會被緩存。我使用Firebug進行了檢查,得到了200 OK
的狀態,這意味着每次頁面刷新時都會從服務器下載它。PHP緩存腳本不會緩存php文件
這裏是我的代碼:
$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文件。
您是否在試圖緩存的腳本中使用會話? – Charles
在我的整個網站中沒有任何會話 – Houssni
好的。涉及會話時,PHP喜歡發送緩存清除標頭。您可以檢查並查看請求腳本看到的實際標題嗎?獲得它們會很有用,並且會使實際發生的事情變得非常明顯。 – Charles