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

标签 php cakephp caching

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

我已经做了我能做的几乎所有事情:删除 tmp 文件夹中的所有文件(但不是文件夹),在我的应用程序的 core.php 文件中打开“Cache.disable”,尝试清除缓存在某些带有 clearCache() 和 Cache::clear() 的 Controller 中(但我怀疑这不起作用,因为它没有加载 Controller ——由于缓存)。

我已经非常有效地停止了我的开发过程,只是因为缓存不会关闭。任何人有一些我可以尝试的想法?我开始认为它可能在浏览器或我的托管服务中,但它可能只是 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 header 的组合在所有浏览器中都有效,并且还绕过了一些非常激进的缓存代理。

关于php - 我如何在 Cakephp 中完全禁用缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2667431/

相关文章:

php - 为什么上传图片失败

php - Magento 中的“news_from_date”

php - 如何在ionic 4中将图像上传到数据库MYSQL?

cakephp - 基于CakePHP的网站在浏览器中变得无响应

java - WeakReference 是我需要的吗?

php - 全局变量与 session_start();

php - .htaccess 设置在 Google Chrome 上不起作用

php - jQuery 插件可以在 cakePHP 中使用吗?

java - 选择具有复合 id 的对象时的 Hibernate 查询缓存

java - 使用 result_cache 提示的 JDBC 缓存