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

Jam*_*ell 20 php caching cakephp

所以我在Cakephp应用程序中打开了缓存闸门,现在我要关闭它们......

我已经完成了我所能做的一切:删除tmp文件夹中的所有文件(但不删除文件夹),在我的应用程序的core.php文件中打开'Cache.disable',尝试从某些控制器中清除缓存使用clearCache()和Cache :: clear()(但我怀疑这不起作用,因为它没有加载控制器 - 由于缓存).

我已经非常有效地停止了我的开发过程,因为缓存不会关闭.任何人都有一些我可以尝试的想法吗?我开始认为它可能在浏览器内或者我的托管服务中,但它可能只是Cakephp搞砸了我.

Dan*_*ght 13

要排除浏览器缓存作为根本原因,您可以尝试添加以下行:

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');
Run Code Online (Sandbox Code Playgroud)

根据我的经验,所有这些缓存破坏HTTP标头的组合在所有浏览器中都有效,并且还有一些非常积极的缓存代理.