Après une mise à jour du module, mon site est devenu inutilisable et n'affiche qu'un message d'erreur php. J'ai essayé de contourner le problème avec drush cc
, mais cela n'a pas aidé.
A également essayé avec un script php personnalisé mais qui a du mal à trouver mon DRUPAL_ROOT
Je veux juste effacer les tables de cache de Drupal 7 directement sur le serveur mysql, mais je ne sais pas quelles tables devraient être effacées pour cela et surtout que je ne devrais pas effacer.
Dois-je simplement effacer toutes les [SITE-PREFIX_]cache*
tables?
drush updb
ou depuis l'interface d'administration, ou en allant simplement/update.php
après une mise à jour du module / noyau.Réponses:
Tout module bien écrit qui a un cache doit le préfixer avec cache, ce qui signifie que la réponse à votre question est "Oui".
Dans le cas étrange où un module met en cache des données ailleurs, vous pouvez vérifier vos modules pour les implémentations de hook_flush_caches et voir ce qu'ils suppriment.
la source
Oui, vous pouvez simplement effacer (
TRUNCATE
) toutes lescache*
tables.Cela a bien fonctionné pour moi:
Si vous utilisez drush, exécutez
drush sql-cli
et collez ce qui précède là-dedans.Ces commandes peuvent ne pas effacer toutes les tables de cache de votre site spécifique, mais elles peuvent aider à corriger certaines erreurs. Ensuite, vous pouvez essayer
drush cc all
d'effacer le reste.la source
Pour effacer toutes les tables de cache, exécutez cette commande dans votre terminal serveur.
cela parcourra toutes les tables de cache et les tronquera en une seule commande.
la source
Vous pouvez soit TRONCER / SUPPRIMER chaque table séparément, qui commence
cache_
comme:et ainsi de suite (vérifier via
drush sqlq "SHOW TABLES LIKE 'cache_%'"
).Ou générer une requête avec une liste de tables et passer en drush pour les tronquer, par exemple:
ou:
Memcache
Si vous utilisez memcached, vous devez également vider les caches, par exemple (syntaxe Bash):
la source
Ou, vous pouvez importer votre vidage mysql avec des
cache*
tables déjà tronquées :la source
drush cr
et / oudrush cc all
est censé effacer tous les caches, mais en effet, certaines tables de cache ne sont pas effacées. La commande (simplifiée) suivante tronque tous les caches:la source
JFR dans cet article, une autre solution flexible basée sur des modèles est proposée sous forme de requête SQL brute, mais ne fonctionnait pas aussi bien que celle de Mohammad: https://thebarton.org/clear-drupal-cache-sql-query /
la source