Alcuni moduli disattivano automaticamente la memorizzazione nella cache su determinate pagine. Qual è il modo più semplice per verificare che sia così e identificare anche il modulo problematico?
Alcuni moduli disattivano automaticamente la memorizzazione nella cache su determinate pagine. Qual è il modo più semplice per verificare che sia così e identificare anche il modulo problematico?
Risposte:
Il modo più semplice è probabilmente quello di ispezionare le intestazioni di risposta HTTP.
Ad esempio, con lo strumento di ispezione DOM del browser (ad esempio la scheda "Rete" di Chrome )
Cache Miss
Ecco alcune intestazioni di risposta di esempio da drupal.org che mostrano un errore nella cache. In questo caso, l'utilizzo di Varnish tuttavia la cache Drupal di base imposta anche intestazioni simili.
Cache Hit
Eccone uno che mostra un hit cache Drupal standard:
X-Drupal-Cache: HIT
ma sul mio sito Drupal 6 non vedo nulla. Potrebbe essere rimosso dal proxy inverso?
_drupal_bootstrap_page_cache
Purtroppo, comporta un po 'di hacking di base.
Nel file includes/bootstrap.inc
cambia le righe da
// If there is a cached page, display it.
if ($cache) {
drupal_page_cache_header($cache);
// If the skipping of the bootstrap hooks is not enforced, call hook_exit.
if ($cache_mode != CACHE_AGGRESSIVE) {
bootstrap_invoke_all('exit');
}
// We are done.
exit;
}
// Prepare for non-cached page workflow.
drupal_page_header();
break;
per
// If there is a cached page, display it.
if ($cache) {
header('X-Drupal-Cache: HIT');
drupal_page_cache_header($cache);
// If the skipping of the bootstrap hooks is not enforced, call hook_exit.
if ($cache_mode != CACHE_AGGRESSIVE) {
bootstrap_invoke_all('exit');
}
// We are done.
exit;
}
// Prepare for non-cached page workflow.
header('X-Drupal-Cache: MISS');
drupal_page_header();
break;
e il resto delle istruzioni è esattamente come nella risposta di David .