2013-11-04 16 views
5

Sto cercando di imparare Codeigniter e capisco le basi finora, ma mentre provo a testare, sembra che la cache si stia mettendo in mezzo. Normalmente quando eseguo il test su localhost, apporto una modifica e posso vederlo immediatamente nel browser, ma con Codeigniter mi sembra di dover aspettare ~ 1 minuto per vedere le modifiche nel browser. C'è un modo per disabilitare universalmente la cache Codeigniter in modo tale che quando si sviluppano i cambiamenti avvengano immediatamente?Codeigniter Disable Cache

risposta

8

Basta inserire questo codice nella funzione __construct del regolatore

$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

Grazie per la fantastica soluzione :) –

+4

C'è qualcosa di rotto sulla quinta riga del codice di esempio, '$ this-> output-> set_header' – TARKUS

+1

Si suppone che questo dovrebbe apparire nel file HTML generato? Perché ho provato a mettere questo nel costruttore del view controller e quelle nuove intestazioni non sono comparse nel file HTML generato: -// Ho perso un passaggio qui? –

0

Basta eliminare tutti gli elementi memorizzati nella cache nella cartella dell'applicazione/cache:

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

SE è stata abilitata la cache, è necessario disabilitarlo (commentare la cache). Altrimenti potrebbe essere il caching del tuo browser, potresti forzare un SHIFT-F5 (nella maggior parte dei browser).

La cache funzionerà solo se è stata definita nel controller ecc. non a caso.

+0

per quanto ne so, ho usato Ctrl + F5 o Comando + R per disattivare la cache del browser, mentre rinfrescante, Shift + F5 sembra strange..simply doesn 't works – sheetal