到目前为止,我正在尝试学习 Codeigniter 并了解基础知识,但是当我尝试测试时,似乎缓存正在阻碍。通常,当我在 localhost 上进行测试时,我会进行更改并立即在浏览器中看到它,但是使用 Codeigniter 似乎我必须等待大约 1 分钟才能在浏览器中看到更改。有没有办法普遍禁用 Codeigniter 缓存,以便在开发更改时立即发生?
问问题
27573 次
4 回答
12
只需将这段代码放在控制器的__construct函数中
$this->output->set_header('Last-Modified: ' . gmdate("D, d M Y H:i:s") . ' GMT');
$this->output->set_header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
$this->output->set_header('Pragma: no-cache');
$this->output->set_header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
于 2014-04-01T14:05:39.433 回答
0
只需删除 application/cache 文件夹中的所有缓存项:
http://ellislab.com/codeigniter/user-guide/general/caching.html
于 2013-11-04T19:53:56.800 回答
0
如果启用了缓存,则需要禁用它(注释掉缓存)。否则可能是您的浏览器缓存,您可以强制使用 SHIFT-F5(在大多数浏览器中)。
仅当您在控制器等中如此定义缓存时,缓存才会起作用;不是随机的。
于 2013-11-04T19:56:28.580 回答
0
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class MY_Cacheoff extends CI_Cacheoff {
/**
* author: https://www.blazingcoders.com
*/
function disable_cache() {
$this->set_header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');
$this->set_header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
$this->set_header('Cache-Control: no-cache, no-store, must-revalidate, max-age=0');
$this->set_header('Cache-Control: post-check=0, pre-check=0', FALSE);
$this->set_header('Pragma: no-cache');
}
}
有关详细说明,请查看链接
于 2020-01-10T08:52:24.447 回答