cakephp - 为什么 CakePHP 2.2.4 中的 View 缓存在 View 缓存后会导致空白页?

标签 cakephp caching view

我正在将 CakePHP 1.3 应用程序更新到 2.2.4,并按照 CakePHP Book 2.0 中概述的步骤打开 View 缓存。 View 缓存在 1.3 应用程序中一直运行良好,但是当我在 2.2.4 应用程序中打开它时,每个 View 都会首先显示。但是,一旦 View 被缓存,任何后续加载该 View 的尝试都会导致空白页面,没有源代码,也没有错误消息。

这是我到目前为止所做的尝试:

  1. 尝试将调试级别从 0 更改为 1 和 2。
  2. 仔细检查我的引导文件以确保 CacheDispatcher 已加载。
  3. 仔细检查我的 AppController 中的 public $helpers = array('Cache');
  4. 仔细检查我的 AppController 的 public $cacheAction = true;
  5. 将 tmp 文件夹、子文件夹和文件修改为 777。
  6. 检查了调试和错误日志中是否有错误,但没有发现任何错误。
  7. Apache 错误和访问日志也没有显示任何错误。

如果我从 tmp/cache/views 中删除缓存的 View ,然后重新加载页面,它会正常显示。但随后再次重新加载会导致空白页面,因为 View 已被缓存。知道这里发生了什么吗?它在 1.3 应用程序中有效...

最佳答案

在我的应用程序 Controller 中,我更改了:public $cacheAction = true;公共(public) $cacheAction = "1 小时";现在 View 从缓存中显示,而不是空白页面。我将把这个问题称为“固定”。

关于cakephp - 为什么 CakePHP 2.2.4 中的 View 缓存在 View 缓存后会导致空白页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13955098/

相关文章:

python - Django 查询结果与if语句比较

css - 如何使用 cakePHP 在 css 中添加媒体 ='screen'?

ajax - 如何在 Cakephp 3 中的 ajax 调用中定义 CSRF token 。此外,对于某些 ajax 请求,CSRF 是如何关闭的

使用 cakephp acl 创建实用程序的 mysql 超时

ios - 在 Web View Swift 3.3 中清除缓存

caching - ASP.NET Webforms - 关闭缓存,但仅适用于 "pages",不适用于静态内容

java - 创建缓存时如何将所有缓存名称及其数据放入List<>中?

php - Centos Cronjob 中的 Cakephp ShellDispatcher 错误

postgresql - 刷新物化 View 不包括添加的列

ruby-on-rails - 在 Rails 中的 ERB 中实现 if/not 的最干净的方法是什么?