【问题标题】:Codeigniter - cache - server?Codeigniter - 缓存 - 服务器?
【发布时间】:2013-05-30 22:06:30
【问题描述】:

在 Codeigniter 中没有出现缓存问题几年后,我发现了一个问题。我已经看到其他地方描述的问题,但没有适合我的解决方案。

例如,如果我在视图中更改一些纯 html 文本并上传新文件并按 F5,则会显示旧的缓存文件。如果我之后按 ctrlF5 会显示新的,并且 F5 再次将旧的缓存文件返回给我。我曾尝试手动刷新浏览器缓存,但我们没有效果。几分钟后,旧的缓存文件将被新文件替换。这个问题给我带来了登录和注销的问题。

我没有运气在登录和注销控制器中都放置了以下代码;

$this->output->cache(0);            
$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, max-age=0, 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");

我没有在任何控制器($this->output->cache(n)) 中激活输出缓存,或者没有缓存文件夹(application/cache 或 system/cache/(beore 2.0.0))或在配置文件中使用 db cache (['cache_on'] = FALSE)

我正在使用: 代码点火器 2.0.0 火狐21.0

我认为缓存文件存储在 Linux 服务器上的某个位置,但我不知道在哪里以及如何刷新。

任何帮助或指向正确的方向都可以。谢谢!

最好的问候 马丁

【问题讨论】:

  • 您检查过 HTML 是否设置正确,日期是否正确?
  • 感谢您的回复。其实我不知道。我应该检查 HTML 文件的正确日期吗?这是最后修改日期吗?再次感谢。
  • 如果您使用 Firefox,您可以使用 Firebug 插件来检查页面的 HTML 源代码。 (右键检查)
  • 谢谢。我有 Firebug 并完成了检查。我必须在哪里照顾什么? - HTML 文件中的所有内容对我来说都很好。
  • 点击firebug中的网络标签。刷新页面,然后从列表中选择您的页面(通常是最顶部的项目)并单击右侧的标题选项卡。在那里,您可以准确地看到正在为您的页面提供哪些缓存标头。

标签: codeigniter caching


【解决方案1】:

缓存文件在过期之前不会被删除。缓存文件保存在application/cache 文件夹中。您可以从那里手动删除它。

此外,您可以通过添加cache helper 或使用clear page cache 扩展您的输出类来更好地管理您的缓存(以编程方式)

【讨论】:

  • 在我设置的配置文件中: $config['cache_path'] = '';而且我没有应用程序/缓存或系统/缓存文件夹。
  • 感谢您的建议。所以我不能删除它们,因为文件夹不存在。据我所知,具有清除页面缓存的输出类的缓存帮助器和扩展将查看我没有的文件夹。还是我错了?感谢您的帮助。
  • 是的。它会尝试从那里删除文件。奇怪的是您没有缓存文件夹。查看您的config 文件,看看您的$config['cache_path'] 是否已更改。
  • 谢谢。 Config['cache_path'] 没有改变,留空,默认指向application/cache。
  • 谢谢。我通过检查以下问题号解决了这个问题。 11745368I.
猜你喜欢
  • 2013-02-12
  • 1970-01-01
  • 1970-01-01
  • 2021-08-07
  • 2016-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-30
相关资源
最近更新 更多