Vider les caches Drupal via un lien

Vider les caches Drupal via un lien

Jeudi, Avril 14, 2016

Inspiré du fichier cron.php voici un script php qui vide les caches de Drupal sans être connecté.

Placer un fichier clearcache.php à la racine de votre site Drupal contenant ce code :

<?php
/**
 * @file
 * Vide la cache (cron key needed)
 */

/**
 * Root directory of Drupal installation.
 */
define('DRUPAL_ROOT', getcwd());

include_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

if (!isset($_GET['cron_key']) || variable_get('cron_key', 'drupal') != $_GET['cron_key']) {
  watchdog('actions', 'Clear cache could not run because an invalid key was used.', array(), WATCHDOG_NOTICE);
  drupal_access_denied();
}
elseif (variable_get('maintenance_mode', 0)) {
  watchdog('actions', 'Clear cache could not run because the site is in maintenance mode.', array(), WATCHDOG_NOTICE);
  drupal_access_denied();
}
else {
// Clear cache.

drupal_flush_all_caches();
watchdog('actions', 'Cache cleared.', array(), WATCHDOG_DEBUG);

}
?>

Verifier qu'il a les chmod 644 sur le serveur.
Lancer le depuis votre navigateur web en ajoutant la clé cron de votre site (voir dans la page /admin/reports/status), par exemple:

http://www.mondomaine.com/clearcache.php?cron_key=ICIMACLECRON

La page reste blache, c'est normal. Verifiez dans le journal qu'un message de type debug indique bien 'Cache cleared.'.
 

Tags: 

Bienvenue sur le blog !

Il s'agissait au départ d'un recueil de notes donc certains billets sont plutôt succincts.
J'espère que vous y trouverez l'info qu'il vous manque dans votre recherche.
Vos commentaires sont les bienvenus.

Bonne lecture !

Mois / Années

Recherche