Borrar caché sin iniciar sesión

10

Agregué una declaración if sobre el contenido render php en mi archivo page.tpl.php. El único problema es que cometí un error y evité accidentalmente que mostrara contenido en cualquier página. Limpié el caché y cerré sesión para probarlo, y al darme cuenta de mi error, corregí el archivo de plantilla. Pero ahora no puedo volver a iniciar sesión para borrar el caché nuevamente ya que mi sitio no mostrará el contenido y, por lo tanto, no mostrará el cuadro de inicio de sesión.

¿Puede alguien darme una forma en Drupal 7 para iniciar sesión sin el cuadro de inicio de sesión (como una forma de representar el cuadro de inicio de sesión por separado en el contenido) o una forma de borrar el caché?

JamiePatt
fuente
2
Si usted tiene acceso a la base de datos sólo ejecute TRUNCATE TABLE table_namepara la cachemesa y todas las otras tablas que comienzan concache_
Clive
2
Si tiene drush instalado, puede hacerlo drush ccdesde la terminal mientras está parado en su raíz drupal.
Código de ciclón el
En su página tpl simplemente ejecute drupal_flush_all_caches ();
Anil Sagar

Respuestas:

12

yo. Si tiene instalado drush (http://drupal.org/project/drush), si no lo tiene, piense en eso la próxima vez :), abra la consola (WIN + R) en Windows o Ctrl + Alt + T en Linux apunta a la carpeta de tu sitio (por ejemplo, cd /www/mydrupalsite/y escribe:

 $ drush cc all

desde la línea de comando.

ii. Otro método es iniciar sesión en su phpmyadmin, seleccionar sus tablas cache_ y vaciarlas / vaciarlas.

drupal_stuff_alter
fuente
6

La mejor solución que encontré al final fue hacerlo a través de phpmyadmin. Me conecté y vacié las tablas que tenían "caché" al comienzo de su nombre. Fácil si no trabajas en seco.

JamiePatt
fuente
Repetir la respuesta de drupal_stuff_alter en parte sin ninguna información adicional no es útil, y en mi opinión, desdeña mucho el concepto de este sitio. Ni siquiera puedo comenzar a suponer por qué querrías descarrilar a las personas que encuentren esta pregunta en el futuro publicando y aceptando una respuesta que omita el drushmétodo, que claramente requiere menos tiempo y esfuerzo, y además es la forma prevista.
TheThirdMan
5

Además de las opciones mencionadas anteriormente, como último esfuerzo de zanja, puede llamar a la función drupal_flush_all_caches()para borrar todas las cachés.

Puede hacer esto colocando el código a continuación en un archivo php en la raíz de su documento y visitándolo con un navegador:

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

No he probado este código, y asegúrese de eliminarlo después de que haya borrado sus cachés.

Phizes
fuente
Tenga en cuenta que primero deberá definir la constante DRUPAL_ROOT. Originalmente no se mostraba en el ejemplo de código, así que agregué un espacio en blanco para que se muestre ahora.
Ryan Szrama
2

Puedes configurar

$update_free_access = TRUE;

en settings.php (alrededor de la línea 226) y vaya a /update.php. Esto borrará el caché.

mymwbg
fuente
0

Puede borrar el caché de Drupal ejecutando el siguiente comando en la consola de comandos de Windows o desde un archivo .bat (o desde la consola de Linux):

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

Solo asegúrese de que DRUPAL_ROOT en el código apunte al directorio de Drupal.

Vyacheslav Petrov
fuente
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 <> '';
Ashish Madkaikar
fuente