一千萬個為什麽

搜索

如何在Cakephp中完全禁用緩存?

所以我在Cakephp應用程序中打開了緩存閘門,現在我要關閉它們......

我已經完成了我所能做的一切:刪除tmp文件夾中的所有文件(但不刪除文件夾),在我的應用程序的core.php文件中打開'Cache.disable',嘗試從某些控制器中清除緩存使用clearCache()和Cache :: clear()(但我懷疑這不起作用,因為它沒有加載控制器 - 由於緩存)。

我已經非常有效地停止了我的開發過程,因為緩存不會關閉。任何人都有一些我可以嘗試的想法嗎?我開始認為它可能在瀏覽器內或者我的托管服務中,但它可能只是Cakephp搞砸了我。

最佳答案

要排除瀏覽器緩存作為根本原因,您可以嘗試添加以下行:

header('Cache-Control: no-store, private, no-cache, must-revalidate');                 //HTTP/1.1
header('Cache-Control: pre-check=0, post-check=0, max-age=0, max-stale = 0', false);   //HTTP/1.1
header('Pragma: public');
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');                                      //Date in the past  
header('Expires: 0', false); 
header('Last-Modified: '.gmdate('D, d M Y H:i:s') . ' GMT');
header('Pragma: no-cache');

根據我的經驗,所有這些緩存破壞HTTP標頭的組合在所有瀏覽器中都有效,並且還有一些非常積極的緩存代理。

轉載註明原文: 如何在Cakephp中完全禁用緩存?