So I opened the cache floodgates in my Cakephp app and now I want to close them...
I\'ve done pretty much everything I can: delete all files in the tmp folder (but n
You could look your controller code for some element caching and set them to false. This applies to app_controller.php or Controller/AppController.php depending on version of Cake you use.
Controller::cacheAction = false
echo $this->element('latest_comments', array(), array('cache' => false));
You could try adding Controller::disableCache();
in your controller action.
I had a problem once with the model getting cached and no longer reflected the schema of the table.
I had to update my /config/core.php and set "debug:2" This disables the caching of my models and fixed my problems.
Kind of a long shot (plus this thread is old, but oh well), but I had a similar problem: I couldn't get IE to quit caching ajax requests (using jQuery). After much heartache and headache a simple:
$.ajaxSetup({cache:false});
did the trick. Gotta love IE...
To rule out browser caching as the root cause, you might try adding the following lines:
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 M Y H:i:s') . ' GMT');
header('Pragma: no-cache');
The combination of all these cache-busting HTTP headers has, in my experience, worked in all browsers, and has got around some very aggressive caching proxies as well.
https://book.cakephp.org/3.0/en/core-libraries/caching.html#globally-enable-or-disable-cache
static Cake\Cache\Cache::disable¶ You may need to disable all Cache read & writes when trying to figure out cache expiration related issues. You can do this using enable() and disable():