2013-11-04 10 views
5

Ich versuche Codeigniter lernen und verstehen die Grundlagen so weit, aber wie ich versuche zu testen, scheint es, dass der Cache in die Quere kommt. Normalerweise, wenn ich auf localhost teste, mache ich eine Änderung und sofort kann ich es im Browser sehen, aber mit Codeigniter scheint es, ich muss ~ 1 Minute warten, bis Änderungen im Browser angezeigt werden. Gibt es eine Möglichkeit, den Codeigniter-Cache universell zu deaktivieren, wenn Änderungen sofort durchgeführt werden?Codeigniter Deaktivieren Cache

Antwort

8

Einfach diesen Code in der __construct Controller-Funktion

$this->output->set_header('Last-Modified: ' . gmdate("D, d M Y H:i:s") . ' GMT');('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0'); 
$this->output->set_header('Pragma: no-cache'); 
$this->output->set_header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
+0

Danke für geniale Lösung :) –

+4

Es ist etwas in der fünften Zeile Ihres Beispiel-Code gebrochen, '$ this-> output-> set_header' – TARKUS

+1

Soll das in der generierten HTML-Datei angezeigt werden? Weil ich versucht habe, dies in den Konstruktor des View-Controllers zu bringen und diese neuen Header wurden nicht in der generierten HTML-Datei angezeigt: -/Habe ich hier einen Schritt verpasst? –

0

Löschen Sie einfach alle zwischengespeicherten Elemente in der Anwendung/Cache-Ordner:

http://ellislab.com/codeigniter/user-guide/general/caching.html 
0

IF Sie den Cache aktiviert ist, müssen Sie ihn deaktivieren (kommentieren Sie den Cache-out). Sonst kann es sein, dass Ihr Browser im Cache ist, Sie könnten ein SHIFT-F5 (in den meisten Browsern) erzwingen.

Der Cache funktioniert nur, wenn Sie es so in Ihrem Controller usw. definiert haben; nicht zufällig.

+0

AFAIK, habe ich verwendet Strg + F5 oder Befehlstaste + R für das Überschreiben der Browser-Cache, während erfrischend, Shift + f5 strange..simply sieht es doesn 't funktioniert – sheetal

Verwandte Themen