Поэтому я открыл кеш-шлюзы в своем приложении Cakephp, и теперь я хочу их закрыть …
Я сделал все, что в моих силах: удалить все файлы в папке tmp (но не в папках), включив «Cache.disable» в файле core.php в своем приложении, попытался очистить кеш изнутри некоторых контроллеров с clearCache () и Cache :: clear () (но я подозреваю, что это не работает, потому что это не загрузка контроллера – из-за кэширования).
Я довольно эффективно остановил процесс разработки только потому, что кеширование не отключается. У кого-нибудь есть идеи, которые я мог бы попробовать? Я начинаю думать, что это может быть в браузере или, может быть, в моем сервисе хостинга, но это, вероятно, просто Cakephp, возиться со мной.
Чтобы исключить кеширование браузера в качестве основной причины, вы можете попробовать добавить следующие строки:
header('Cache-Control: no-store, private, no-cache, must-revalidate'); // HTTP/1.1 header('Cache-Control: pre-check=0, post-check=0, max-age=0, max-stale = 0', false); // HTTP/1.1 header('Pragma: public'); header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); // Date in the past header('Expires: 0', false); header('Last-Modified: '.gmdate('D, d MYH:i:s') . ' GMT'); header('Pragma: no-cache');
Сочетание всех этих заголовков HTTP-заголовков, связанных с кэшированием, по моему опыту, работало во всех браузерах, а также охватило некоторые очень агрессивные прокси-серверы.
Вид длинного снимка (плюс эта ветка старая, но о хорошо), но у меня была аналогичная проблема: я не мог заставить IE прекратить кеширование ajax-запросов (используя jQuery). После сильной боли и головной боли прост:
$.ajaxSetup({cache:false});
сделал трюк. Должен любить IE …
Вы можете посмотреть свой код контроллера для кеширования некоторых элементов и установить их в false. Это относится к app_controller.php или Controller / AppController.php в зависимости от версии используемого вами торта.
Controller::cacheAction = false echo $this->element('latest_comments', array(), array('cache' => false));
Вы можете попробовать добавить Controller::disableCache();
в действии вашего контроллера.
Однажды у меня возникла проблема с тем, что модель кэшируется и больше не отражает схему таблицы.
Мне пришлось обновить /config/core.php и установить «debug: 2». Это отключает кеширование моих моделей и устраняет мои проблемы.