Как включить кеш в CakePHP? - PullRequest
       4

Как включить кеш в CakePHP?

0 голосов
/ 05 февраля 2011

Я использую CakePHP.У меня есть действие в контроллере, который создает статические страницы содержимого приложения.Я хочу кэшировать все это действие / представление.Контроллер - это Pages, а действие - Main.Я не вижу, чтобы кэшированные файлы для представления появлялись в папке tmp / cache.

  • Я раскомментировал параметр Cache.check в core.php, поэтому он читает:

    Configure :: write ('Cache.check', true);

  • Я добавил помощник кеша в контроллер страниц:

    var $ helpers =массив ('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.Я что-то пропустил?Есть идеи?

Ответы [ 2 ]

0 голосов
/ 06 февраля 2011

вот новая запись о просмотре кэширования для cakephp, вы можете проверить его http://nuts -and-bolts-of-cakephp.com / 2011/02/05 / make-your-cakephp -app-смехотворно-быстрее-с точки зрения кэширования /

0 голосов
/ 05 февраля 2011

Глупые проверки, извините, но просто чтобы убедиться:

С заглавными буквами слова 'javascript' и 'cache'

то есть var $helpers = array('Javascript','Cache'); не так, как у вас

Убедитесь, что вы добавили

var $cacheAction = array('main/'=>86400); и

var $helpers = array('Javascript','Cache');

на уровне Класс на соответствующем уровнеконтроллер.

Возможно, стоит попробовать объявление помощника в app_controller.

Я не знаю, используете ли вы Windows или что-то более разумное.Если вы работаете в Linux, OSX или где-то еще, в окне консоли измените каталог на app/tmp и chmod -R 777 . Возможно, стоит рекурсивно chown & chgrp сделать то же, что и веб-пользователь.

Удалите все файлы кэша - оставьте каталоги там.

Попробуйте еще раз.

...