[請益] PHP 使用cache

看板PHP作者 (拿出我的駭客靈魂)時間10年前 (2015/01/23 15:15), 編輯推噓3(3012)
留言15則, 3人參與, 最新討論串1/1
我想做一支PHP會去撈檔案內容 但是那個檔案內容預期一個小時才會更動一次 所以我想吐資料的時候去讓瀏覽去快取一小時 一小時內你再要請求請用自己瀏覽器的快取 我程式如下: <?php $offset = 60; header("Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT"); header("Cache-Control: max-age=$offset, must-revalidate"); header('Content-Type: text/html') ; echo $content = file_get_contents('cache.html') ; ?> 可是我刷新F5,我看狀態一直是兩百耶。表示是伺服器重跑的 請問我該如何設定呢? 如果成功應該是304是嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.51.223.204 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1421997312.A.0B9.html

01/23 15:39, , 1F
offset是算秒的喔 offset應該是3600
01/23 15:39, 1F

01/23 15:57, , 2F
恩 感謝回應,但即便如此,他還是連六十秒都沒快取
01/23 15:57, 2F

01/23 16:04, , 3F
要不要換個作法 自己用filemtime算然後寫304 header
01/23 16:04, 3F

01/23 16:05, , 4F
阿你不是叫他must-revalidate他當然聽你的阿
01/23 16:05, 4F

01/23 16:05, , 5F
http://tinyurl.com/kc5kn2k Stackoverflow參考
01/23 16:05, 5F

01/23 16:17, , 6F
TO M大,感謝提醒,我直接把, must-revalidate拿掉
01/23 16:17, 6F

01/23 16:17, , 7F
但還是200....Orz
01/23 16:17, 7F

01/23 16:19, , 8F
TO R大,我實做看看,但不如預期的原因是甚麼呢?
01/23 16:19, 8F

01/23 16:19, , 9F
比較怕是我對cache-control的誤解
01/23 16:19, 9F

01/23 16:25, , 10F
你是用Firebug看Response嗎 有聽說過Firebug總是回
01/23 16:25, 10F

01/23 16:26, , 11F
200的問題
01/23 16:26, 11F

01/23 16:27, , 12F
我用你貼的方式成功了! & 我用chrome
01/23 16:27, 12F

01/23 16:28, , 13F
但是依舊不知道我錯在哪邊,是不是根本不是這樣用的
01/23 16:28, 13F

01/23 16:29, , 14F
我也不懂 原來關於must-revalidate眾說紛紜 XD
01/23 16:29, 14F

01/23 16:34, , 15F
眾說紛紜!!XDDD這太好笑了 ㄚ ~ 都不乖乖執行
01/23 16:34, 15F
文章代碼(AID): #1KmVK02v (PHP)
文章代碼(AID): #1KmVK02v (PHP)