【问题标题】:When I enable the Codeigniter cache, the tank auth is disabled. Why?当我启用 Codeigniter 缓存时,坦克身份验证被禁用。为什么?
【发布时间】:2013-02-23 21:39:39
【问题描述】:

如果我在启动控制器的构造函数中激活了 Codeigniter 缓存(例如)。所以:

$this->output->cache(20); //20 minutes

如果我登录主页面(使用 Tank auth 库构建),则会显示完整的 Web 应用程序,如果当我注销时重新加载页面,则会再次显示完整的 Web 应用程序。为什么?

显然,如果缓存被禁用,这不会发生。

【问题讨论】:

    标签: php codeigniter caching codeigniter-2 tankauth


    【解决方案1】:

    Codeigniter 正在缓存第一个请求的输出。任何进一步的请求只会从初始请求返回缓存页面。

    由于您的应用需要用户状态,因此您无法缓存整个页面,否则所有用户将看到相同的内容(无论状态如何)。

    【讨论】:

    • 那么,我无法单独缓存初始页面(登录页面)和完整的应用程序。不是吗?
    • 如果您的应用使用多个视图组成一个页面,您可以缓存页面“片段”。例如。页眉和页脚。这是一个添加此支持的库:github.com/EllisLab/CodeIgniter/wiki/Fragment-Caching-Library
    【解决方案2】:

    如果启用缓存,您将始终从缓存中获取页面,直到 20 分钟后

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-04
      • 2019-12-13
      相关资源
      最近更新 更多