为什么在缓存视图后,CakePHP 2.2.4中的视图缓存会导致空白页?

时间:2012-12-19 14:59:42

标签: cakephp caching view

我正在将CakePHP 1.3应用程序更新为2.2.4,并按照CakePHP Book 2.0中列出的步骤打开视图缓存。视图缓存在1.3应用程序中已经完美运行,但是当我在2.2.4应用程序中打开它时,每个视图最初都会显示。但是,一旦缓存了视图,任何后续加载该视图的尝试都会导致空白页面没有源代码且没有错误消息。

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

  1. 通过将调试级别从0更改为1和2来实验。
  2. 仔细检查我的引导文件以确保加载了CacheDispatcher。
  3. 仔细检查我的AppController以获取公共$ helpers = array('Cache');
  4. 仔细检查我的AppController是否为public $ cacheAction = true;
  5. 将tmp文件夹,子文件夹和文件chmod到777。
  6. 检查调试和错误日志是否有错误,但一无所获。
  7. Apache错误和访问日志也没有显示错误。
  8. 如果我从tmp / cache / views中删除缓存的视图,然后重新加载页面就可以正常显示。但是,由于视图被缓存,因此另一次重新加载会导致空白页面。知道这里发生了什么吗?它适用于1.3应用......

2 个答案:

答案 0 :(得分:5)

在我的app控制器中,我更改了:public $ cacheAction = true;公共$ cacheAction =“1小时”;现在,视图从缓存而不是空白页面显示。我会把这个称为固定的。

答案 1 :(得分:0)

完全空白页面没有错误,消息......等等,在PHP专用文件中关闭PHP标记结束后几乎总是空格或额外字符。检查您的控制器,型号,行为......等。 (在纯PHP文件中,完全不关闭PHP标签是一种很好的做法。这样可以防止空白屏幕发生。)