Nach einem Modul-Update ist meine Site unbrauchbar geworden und zeigt nur eine PHP-Fehlermeldung an. Ich habe versucht, das Problem zu umgehen drush cc
, aber das hat nicht geholfen.
Auch mit einem benutzerdefinierten PHP-Skript versucht, aber das hat Probleme bei der Suche nach meinem DRUPAL_ROOT
Ich möchte nur die Cache-Tabellen von Drupal 7 direkt auf dem MySQL-Server löschen, bin mir aber nicht sicher, welche Tabellen dafür gelöscht werden sollen und insbesondere welche ich nicht löschen soll.
Muss ich nur alle [SITE-PREFIX_]cache*
Tische abräumen ?
drush updb
lediglich als Hinweis sicher, dass Sie die Datenbankaktualisierungen entweder über oder über die Administrationsoberfläche oder einfach über/update.php
ein Modul- / Core-Update ausführen .Antworten:
Jedes gut geschriebene Modul, das einen Cache hat, sollte einen Cache als Präfix haben, was bedeutet, dass die Antwort auf Ihre Frage "Ja" lautet.
In dem merkwürdigen Fall, dass ein Modul Daten an einer anderen Stelle zwischenspeichert, können Sie Ihre Module auf Implementierungen von hook_flush_caches überprüfen und feststellen , was sie entfernen.
quelle
Ja, Sie können einfach
TRUNCATE
allecache*
Tabellen löschen ( ) .Das hat bei mir gut funktioniert:
Wenn Sie Drush verwenden, führen Sie
drush sql-cli
die oben genannten Schritte aus und fügen Sie sie dort ein.Mit diesen Befehlen werden möglicherweise nicht alle Cache-Tabellen Ihrer Site gelöscht, es können jedoch einige Fehler behoben werden. Anschließend können Sie versuchen
drush cc all
, den Rest zu löschen.quelle
Führen Sie diesen Befehl in Ihrem Server-Terminal aus, um alle Cache-Tabellen zu löschen.
Dies durchläuft alle Cache-Tabellen und schneidet sie in einem Befehl ab.
quelle
Sie können jede Tabelle einzeln TRUNCATE / DELETE, beginnend
cache_
mit:und so weiter (überprüfen über
drush sqlq "SHOW TABLES LIKE 'cache_%'"
).Oder generieren Sie eine Abfrage mit einer Liste von Tabellen und übergeben Sie sie an drush, um sie abzuschneiden. Beispiel:
oder:
Memcache
Wenn Sie memcached verwenden, müssen Sie auch die Caches dort leeren, z. B. (Bash-Syntax):
quelle
Oder Sie können Ihren MySQL-Dump mit bereits abgeschnittenen
cache*
Tabellen importieren :quelle
drush cr
und / oderdrush cc all
soll alle Caches löschen, aber tatsächlich werden einige Cachetabellen nicht gelöscht. Der folgende (vereinfachte) Befehl schneidet alle Caches ab:quelle
JFR In diesem Artikel wird eine andere flexible musterbasierte Lösung in Form einer unformatierten SQL-Abfrage angeboten, die jedoch bei mir nicht so gut funktionierte wie bei Mohammad: https://thebarton.org/clear-drupal-cache-sql-query /
quelle