我正在使用CakePHP。我在控制器中有一个动作,用于生成应用程序的静态内容页面。我想缓存整个动作/视图。控制器是Pages,操作是Main。我没有看到视图的缓存文件出现在tmp / cache文件夹中。
我已取消注释core.php中的Cache.check设置,因此它显示为:
配置:: write('Cache.check',true);
我已将缓存助手添加到页面控制器:
var $ helpers = array('javascript','cache');
我告诉控制器缓存名为“main”的操作:
var $ cacheAction = array('main /'=> 86400);
我已经确认今天app / tmp / cache文件夹中有其他缓存文件(模型缓存),所以我知道这不是权限问题。
这是我的页面控制器的顶部:
var $name = 'Pages';
var $helpers = array('Javascript','Cache');
var $uses = array();
var $components = array('Authentication','Security');
var $cacheAction = array('main/'=>86400);
我不确定在CachePHP中启用视图缓存时我缺少什么。我错过了什么吗?有什么想法吗?
答案 0 :(得分:0)
愚蠢的检查,对不起,但只是为了确保:
将“javascript”和“缓存”字样大写
即。 var $helpers = array('Javascript','Cache');
并非像你粘贴的那样。
确保您已添加
var $cacheAction = array('main/'=>86400);
和
var $helpers = array('Javascript','Cache');
在相应控制器的 Class 级别。
可能值得在app_controller中尝试帮助声明。
我不知道你是在Windows上还是更明智的东西。如果您使用的是Linux或OSX或其他任何内容,请在控制台窗口中将目录更改为app/tmp
和chmod -R 777 .
这可能是递归的chown
& chgrp
也适用于任何网络用户。
删除所有缓存文件 - 将目录保留在那里。
再试一次。
答案 1 :(得分:0)
这是关于cakephp的视图缓存的全新帖子,您可能需要查看http://nuts-and-bolts-of-cakephp.com/2011/02/05/make-your-cakephp-app-ridiculously-faster-with-view-caching/