Po aktualizacji modułu moja witryna stała się bezużyteczna i wyświetla tylko komunikat o błędzie php. Próbowałem obejść problem drush cc
, ale to nie pomogło.
Próbowałem także z niestandardowym skryptem php, ale ma problemy ze znalezieniem mojego DRUPAL_ROOT
Chcę tylko wyczyścić tabele pamięci podręcznej z Drupal 7 bezpośrednio na serwerze mysql, ale nie jestem pewien, które tabele powinny zostać wyczyszczone, a zwłaszcza których nie powinienem wyczyścić.
Czy muszę po prostu wyczyścić wszystkie [SITE-PREFIX_]cache*
stoły?
drush updb
lub z interfejsu administratora, lub po prostu przechodząc do/update.php
aktualizacji modułu / rdzenia.Odpowiedzi:
Każdy dobrze napisany moduł z pamięcią podręczną powinien poprzedzić ją pamięcią podręczną, co oznacza, że odpowiedź na twoje pytanie brzmi „Tak”.
W przypadku, gdy moduł buforuje dane gdzieś indziej, możesz sprawdzić swoje moduły pod kątem implementacji hook_flush_caches i zobaczyć, co one usuwają.
źródło
Tak, możesz po prostu wyczyścić (
TRUNCATE
) wszystkiecache*
tabele.Działa to dla mnie dobrze:
Jeśli używasz drush, uruchom
drush sql-cli
i wklej tam powyższe.Te polecenia mogą nie wyczyścić wszystkich tabel pamięci podręcznej określonej witryny, ale mogą pomóc naprawić niektóre błędy. Następnie możesz spróbować
drush cc all
wyczyścić resztę.źródło
Aby wyczyścić wszystkie tabele pamięci podręcznej, uruchom to polecenie w terminalu serwera.
spowoduje to przejście przez wszystkie tabele pamięci podręcznej i obcięcie ich jednym poleceniem.
źródło
Możesz TRUNCATE / DELETE każdą tabelę osobno, zaczynającą się od
cache_
:i tak dalej (sprawdź przez
drush sqlq "SHOW TABLES LIKE 'cache_%'"
).Lub wygeneruj zapytanie z listą tabel i przejdź do drush, aby je obciąć, np .:
lub:
Pamięć podręczna
Jeśli używasz memcached, musisz również opróżnić tam pamięci podręczne, np. (Składnia Bash):
źródło
Możesz też zaimportować zrzut pamięci mysql z już obciętymi
cache*
tabelami:źródło
drush cr
i / lubdrush cc all
ma wyczyścić wszystkie pamięci podręczne, ale w rzeczywistości niektóre tabele pamięci podręcznej nie zostaną wyczyszczone. Następująca (uproszczona) komenda obciąża wszystkie pamięci podręczne:źródło
JFR w tym artykule oferuje inne elastyczne rozwiązanie oparte na wzorcach w postaci surowego zapytania SQL, ale nie działało dla mnie tak dobrze jak Mohammada: https://thebarton.org/clear-drupal-cache-sql-query /
źródło