Cancella cache senza accedere


10

Ho aggiunto un'istruzione if attorno al contenuto render php nel mio file page.tpl.php. L'unico problema è che ho fatto un errore e gli ho impedito accidentalmente di visualizzare il contenuto su qualsiasi pagina. Ho cancellato la cache e mi sono disconnesso per testarlo, e realizzando il mio errore ho corretto il file modello. Ma ora non riesco ad accedere di nuovo per cancellare nuovamente la cache poiché il mio sito non visualizzerà il contenuto e quindi non renderà la casella di accesso.

Qualcuno può darmi un modo in Drupal 7 di accedere senza la casella di accesso (come un modo per rendere la casella di accesso separatamente al contenuto) o un modo per cancellare la cache?


2
Se hai accesso al database, esegui TRUNCATE TABLE table_namela cachetabella e tutte le altre tabelle che iniziano concache_
Clive

2
Se hai installato Drush puoi farlo drush ccdal terminale mentre ti trovi nella tua drupal root.
ciclico

Nella tua pagina, esegui drupal_flush_all_caches ();
Anil Sagar,

Risposte:


12

io. Se hai installato drush (http://drupal.org/project/drush) - se non lo hai, pensaci la prossima volta :), apri la console (WIN + R) in Windows o Ctrl + Alt + T in Linux punta alla cartella del tuo sito (es. cd /www/mydrupalsite/E digita:

 $ drush cc all

dalla riga di comando.

ii. Un altro metodo è quello di accedere a phpmyadmin, selezionare le tabelle cache_ e scaricarle / svuotarle.


6

La migliore soluzione che ho trovato alla fine è stata farlo tramite phpmyadmin. Ho effettuato l'accesso e svuotato tutte le tabelle che avevano "cache" all'inizio del loro nome. Facile se non lavori nella droga.


Ripetere la risposta di drupal_stuff_alter in parte senza alcuna informazione aggiuntiva è difficilmente utile, e secondo me molto sprezzante del concetto di questo sito. Non posso nemmeno iniziare a supporre perché vorresti far deragliare le persone che trovano questa domanda in futuro pubblicando e accettando una risposta che ommette il drushmetodo, che richiede chiaramente meno tempo e sforzi e in cima a cui è il modo previsto.
TheThirdMan,

5

Oltre alle opzioni sopra menzionate, come ultimo sforzo puoi chiamare la funzione drupal_flush_all_caches(), per cancellare tutte le cache.

Puoi farlo inserendo il codice qui sotto in un file php nella radice del documento e visitandolo con un browser:

define('DRUPAL_ROOT', getcwd());
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
drupal_flush_all_caches();

Non ho testato questo codice e assicurati di rimuoverlo dopo aver svuotato la cache.


Tieni presente che dovrai prima definire la costante DRUPAL_ROOT. All'inizio non veniva mostrato nell'esempio di codice, quindi ho aggiunto degli spazi bianchi in modo che ora vengano visualizzati.
Ryan Szrama,

2

Puoi impostare

$update_free_access = TRUE;

in settings.php (intorno alla riga 226) e vai a /update.php. Questo cancellerà la cache.


0

Puoi cancellare la cache di Drupal eseguendo il seguente comando nella console di comando di Windows o da un file .bat (o dalla console di Linux):

php -r "define ('DRUPAL_ROOT', '../web'); chdir (DRUPAL_ROOT); define ('MAINTENANCE_MODE', 'update'); global $ _SERVER; $ _SERVER ['REMOTE_ADDR'] = '127.0.0.1 '; request_once DRUPAL_ROOT.' / Includes / bootstrap.inc '; drupal_bootstrap (DRUPAL_BOOTSTRAP_FULL); drupal_flush_all_caches (); "

Assicurati solo che DRUPAL_ROOT nel codice punti alla directory Drupal.


0
delete from cache where cid <> '';
delete from cache_block where cid <> '';
delete from cache_bootstrap where cid <> '';
delete from cache_field where cid <> '';
delete from cache_filter where cid <> '';
delete from cache_path where cid <> '';
delete from cache_libraries where cid <> '';
delete from cache_image where cid <> '';
delete from cache_page where cid <> '';
delete from cache_token where cid <> '';
delete from cache_update where cid <> '';
delete from cache_views where cid <> '';
delete from cache_views_data where cid <> '';
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.