Come faccio a svuotare Cache di Drupal (senza Devel)

Come faccio a svuotare la cache di Drupal:

  • senza il modulo Devel
  • senza l’esecuzione di un po ‘ di PHP Istruzione in un nuovo nodo etc.
  • senza entrare nel database stesso

In modo efficace, come si fa a insegnare ad un utente finale a cancellare la cache?

  • E perché non puoi usare la tua seconda soluzione?
  • Perché alcuni link sono ancora riferimento al loro sviluppo. Istruire un luser per entrare in PHP? che deve andare male, e di solito in un modo migliore!
  • Sam il commento molto costruttivo, ma la tua non lo era. Si prega di non lasciare commenti dicendo la gente si sta segnalando i loro post/commenti, solo loro bandiera.
  • era una domanda legittima per me al momento. Naturalmente il “luser” non entrare proprio in PHP, ma di esecuzione qualcosa che l’OP aveva codificato. Non penso che bisogna lasciare che la gente sa che è loro bandiera e anche li insulto allo stesso tempo.
InformationsquelleAutor alexanderpas | 2009-08-04



12 Replies
  1. 44

    Quando si è connessi come amministratore (ovviamente, non ogni utente del sito ha il potere di cancellare la cache), ci dovrebbe essere una pagina in “Amministrare > Configurazione del Sito > Prestazioni“.

    E, in fondo alla pagina, ci dovrebbe essere un pulsante (qualcosa come “Cancellare i dati memorizzati nella cache“) per cancellare la cache

    Per quanto mi ricordo, non c’è bisogno di Devel per farlo, e davvero non c’è bisogno di andare al database, né eseguire alcuni fatti in casa codice PHP.


    Come riferimento, si può dare un’occhiata a Come Cancellare Drupal lato Server cache

    • grazie, era esattamente la risposta che stavo cercando. come un esperto drupaller sono così abituati ad avere accesso al modulo devel, tendo a dimenticare il più semplice azioni 😉
    • Siete i benvenuti 🙂 (lo ammetto, ho dovuto pensare un attimo a ricordare-molto uso di Devel troppo ^^ — E ho preferito controllare con google prima di postare, come una misura di sicurezza 😀 )
    • Il Link è spezzato, il ping è così che si possa risolvere il problema
    • Questo funziona su Drupal 8
  2. 20

    È inoltre possibile utilizzare il Drush modulo, che permette di utilizzare la riga di comando per eseguire popolare Drupal comandi, come “drush cron” o “drush cache cancella”.

    • Davvero!!! E ‘molto più semplice per andare alla riga di comando e digitare “drush cc all’ 🙂
    • +1 risposta Migliore finora
  3. 7

    Se si desidera cancellare la cache da un modulo, è possibile utilizzare il codice riportato di seguito.

    drupal_flush_all_caches();
  4. 4

    Ho la soluzione più semplice per che. Installare admin_menu modulo (in realtà non solo per questo scopo, una volta installato questo modulo, non ve ne pentirete di sicuro, link: http://drupal.org/project/admin_menu). Ok, allora appena apparso top menu a discesa passa il favicon e il menu a discesa apparirà, e vedrete: Svuotare tutte le cache dal menu. Un clic un filo. Inoltre è possibile cancellare tutte le cache insieme o selezionare ciò che si desidera colore: Pagine, menu, temi etc. Provare e non si torna indietro )

    • Admin menu è gonfio e può creare problemi di prestazioni per le persone registrate in. Aveva anche problemi di schiena, il giorno in cui sarebbe chiamata menu_router_build in quasi ogni pagina.
  5. 3

    Sarebbe fantastico se si potesse OTTENERE solo il comportamento da colpire:

    http://drupal.local./admin/settings/performance?op=Clear%20cached%20data

    ma non è possibile.

    Tuttavia voglio nota la URL per il breve di taglio attraverso il menu “admin” (uso l’ultima parte):

    http://drupal.local. /admin/settings/performance

  6. 1

    Su richiesta di compensazione può essere fatto in Amministrare > Configurazione del Sito > Prestazioni.

    Si dovrebbe impostare il job di cron per eseguire ogni ora (o qualsiasi intervallo di vostro gradimento).

    Quando cron viene eseguito su Drupal, tutte le cache vengono cancellati e ricostruzione senza il bisogno di un uomo per farlo manualmente.

    Se questa domanda riguarda i temi, è necessario disabilitare i meccanismi di caching (css/js aggregazione) e non sono per cancellare i dati della cache quando si apportano modifiche.

  7. 1

    QUI SI VA:

    Ho dovuto de-installare il “devel” modulo (era incompatibile con Particolari Voci di Menu, che ho bisogno di peggio), così ho fatto la mia.

    Ovunque tu veda NOMEMODULO sostituire con il nome del modulo.

    PASSAGGIO 1:
    Aggiungere a qualsiasi modulo (preferibilmente uno dei tuoi moduli personalizzati) in HOOK_MENU, prima che il “return $elementi” linea:

    //short cut for flushing the caches:
    $items['flush-cache'] = array(
      'type' => MENU_CALLBACK,
      'title' => t('Flush the cache'),
      'description' => 'MODULENAME Custom Cache Flush',
      'page callback' => 'MODULENAME_flush_cache',
      'access callback' => TRUE,
    );

    PASSO 2:
    Ora, nello stesso file del modulo, dove non è “all’interno” di un’altra funzione, aggiungere:

    /**  Page callback  **/
    function MODULENAME_flush_cache() {
      drupal_flush_all_caches();
      return 'Caches were flushed.';
    }

    Ora, si può solo andare al URL “filo-cache” sul tuo sito per svuotare la cache. (Dopo il flush della cache per l’ultima volta il vecchio modo.)

    PASSO 3:
    Se si vuole DAVVERO conveniente, aggiungere il seguente page.tpl.php file. Si può mettere praticamente ovunque tra <body> e </body>. NOTA: $my_is_test è una variabile che uso, che è VERO sul mio sistema di test e FALSE in produzione. Se non avete qualcosa di simile, sostituirlo con TRUE o FALSE per attivare o disattivare la funzione:

    <?php if ($my_is_test): ?>
    <a style="text-align:left; position:absolute; right:2px; top:20px;" href="<?=$base_path?>flush-cache" onclick="this.innerHTML = '<b><blink><big>Wait...</big></blink></b>';">flush</a>
    <? endif; ?>

    E voilà! Hai un “filo” che trovi in alto a destra di ogni pagina, è possibile fare clic su. Sentitevi liberi di modificare la “destra” e “top” importi (o la modifica “a destra” a “sinistra” o “alto” e “basso” per mettere dove vuoi. A questo link il posizionamento funziona solo con i browser moderni, ma è solo per voi, quindi non dovrebbe essere un problema, giusto?

  8. 1

    Ho trovato il seguente: http://www.drupalgardens.com/content/clear-all-caches-not-working

    C’è un altro strato di cache in giro per il sito, che “cancella tutto
    cache” non influisce, hai ragione. Che il livello che memorizza
    il contenuto per gli utenti anonimi.

    Se si desidera ignorare la cache per scopi di test, è possibile aggiungere un
    spazzatura stringa di query alla fine del percorso del sito. Per esempio, se si
    voluto ignorare la cache su example.drupalgardens.com/foo si potrebbe
    visita example.drupalgardens.com/foo?bar=baz o qualsiasi altro testo casuale
    come ?xxxxx=xxxxx.

    Questo mi ha aiutato, perché ho avuto problemi in cui la cancellazione della cache in Configurazione > le Prestazioni non sembrano aiutare.

    • Questo è utile (e così l’ho con voto positivo indietro fino a zero), ma in realtà non rispondere alla domanda, che è probabilmente il motivo è stato downvoted. Si consiglia di rimuoverlo prima che qualcuno downvotes.
  9. 1

    Il codice di cui sopra è per Drupal 6.

    Per Drupal 7 il flush della cache module sarebbe come segue:

    <?php 
    /**
     * Implementation of hook_menu()
     */
    function flush_cache_menu() {
      $items = array();
    
      $items['flush-cache'] = array(
      'type' => MENU_NORMAL_ITEM,
      'title' => t('Flush the cache'),
      'description' => 'Flush all website caches to make sure it updates to relect '.
        'your recent changes.',
      'page callback' => 'flush_cache_custom_callback',
      'access callback' => user_access('flush cache'),
      );
    
      return $items;
    }
    
    /**
     * Implementation of hook_permission()
     */
    function flush_cache_permission() {
      return array(
        'administer my module' => array(
          'title' => t('flush cache module'),
          'description' => t('Content admin flush cache.'),
        ),
      );
    }
    
    /**
     * Function that flushes the cache
     */
    function flush_cache_custom_callback() {
      drupal_flush_all_caches();
      return 'Caches were flushed.';
    }

    Nota: che poi a filo per:

    sitename.com/flush-cache

    Assicuratevi di dare loro l’autorizzazione sulla pagina di autorizzazione. Cancella cache una volta che il modo “normale”, se l’autorizzazione non viene visualizzata dopo l’accensione del modulo.

    Questo è preferibile quando non si desidera che il client per accedere al menu di amministrazione, ma si vuole ancora essere in grado di svuotare la cache.

  10. 0

    Il seguente modulo crea una voce di menu è accessibile solo agli utenti con il permesso di “svuotare la cache”, che questo modulo rende disponibile a regolare le autorizzazioni utente pagina.

    /**
     * Implementation of hook_menu()
     */
    function flush_cache_menu() {
      $items = array();
    
      $items['flush-cache'] = array(
      'type' => MENU_NORMAL_ITEM,
      'title' => t('Flush the cache'),
      'description' => 'Flush all website caches to make sure it updates to relect '.
        'your recent changes.',
      'page callback' => 'flush_cache_custom_callback',
      'access callback' => user_access('flush cache'),
      );
    
      return $items;
    }
    
    /**
     * Implementation of hook_perm()
     */
    function flush_cache_perm() {
      return array('flush cache');
    }
    
    /**
     * Function that flushes the cache
     */
    function flush_cache_custom_callback() {
      drupal_flush_all_caches();
      return 'Caches were flushed.';
    }
  11. 0

    In Drupal 8, l’admin menu del modulo non è abbastanza pronto per l’uso di sicurezza. E sarà probabilmente sostituito con Drupal “Barra degli strumenti”. Quindi per ora non vi è alcun modo semplice per cancellare la cache, senza andare a:

    admin/config/development/performance

    L’unica alternativa è quella di aggiungere una voce di menu nella barra degli strumenti esistente. Questo può essere fatto utilizzando questo modulo, ma come si può vedere, c’è ancora bisogno di un po ‘ di lavoro. Ho capito di lavoro, ma ha dovuto fare un paio di modifiche.

  12. -1

    utilizzare drush e questo comando: drush cc tutti

    Se si utilizza Boost, cache è necessario essere più specifico:

    drush @alias_name cc all
    • Non si può insegnare ad un utente finale per cancellare il cachenwitha linea di comando, dal momento che di solito ottenuto l’accesso all’interfaccia utente (back office).

Lascia un commento