Löschen Sie den Cache, ohne sich anzumelden

10

Ich habe in meiner page.tpl.php-Datei eine if-Anweisung zum Inhalts-Render-PHP hinzugefügt. Das einzige Problem ist, dass ich einen Fehler gemacht und versehentlich verhindert habe, dass Inhalte auf einer Seite gerendert werden. Ich habe den Cache geleert und mich abgemeldet, um ihn zu testen. Als ich meinen Fehler erkannte, habe ich die Vorlagendatei korrigiert. Aber jetzt kann ich mich nicht wieder anmelden, um den Cache wieder zu leeren, da meine Site keinen Inhalt rendert und daher das Anmeldefeld nicht rendert.

Kann mir jemand in Drupal 7 eine Möglichkeit geben, mich entweder ohne das Anmeldefeld anzumelden (z. B. das Anmeldefeld separat zum Inhalt zu rendern) oder den Cache zu leeren?

JamiePatt
quelle
2
Wenn Sie Zugriff auf die Datenbank haben, führen Sie einfach TRUNCATE TABLE table_namedie cacheTabelle und alle anderen Tabellen aus, die mitcache_
Clive
2
Wenn Sie Drush installiert haben, können Sie dies drush ccvom Terminal aus tun, während Sie in Ihrer Drupal-Wurzel stehen.
Cyclonecode
Führen Sie auf Ihrer Seite tpl einfach drupal_flush_all_caches () aus.
Anil Sagar

Antworten:

12

ich. Wenn Sie drush installiert haben (http://drupal.org/project/drush) - wenn Sie es nicht haben, denken Sie das nächste Mal darüber nach :), öffnen Sie die Konsole (WIN + R) in Windows oder Strg + Alt + T in Linux zeigen auf Ihren Site-Ordner (zB cd /www/mydrupalsite/und geben Sie Folgendes ein:

 $ drush cc all

von der Kommandozeile.

ii. Eine andere Methode besteht darin, sich bei Ihrem phpmyadmin anzumelden, Ihre cache_-Tabellen auszuwählen und sie zu leeren.

drupal_stuff_alter
quelle
6

Die beste Lösung, die ich am Ende gefunden habe, war es, es über phpmyadmin zu tun. Ich habe mich angemeldet und alle Tabellen geleert, die am Anfang ihres Namens "Cache" hatten. Einfach, wenn Sie nicht in Drush arbeiten.

JamiePatt
quelle
Wiederholung die Antwort von drupal_stuff_alter teilweise ohne jede zusätzliche Information ist kaum sinnvoll, und meiner Meinung nach sehr ablehnend dem Konzept dieser Website. Ich kann nicht einmal davon ausgehen, warum Sie Menschen, die diese Frage in Zukunft finden, entgleisen möchten, indem Sie eine Antwort veröffentlichen und akzeptieren, die die drushMethode außer Kraft setzt , die deutlich weniger Zeit und Mühe kostet und darüber hinaus den beabsichtigten Weg darstellt.
TheThirdMan
5

Zusätzlich zu den oben genannten Optionen können Sie als letzten Versuch die Funktion aufrufen drupal_flush_all_caches(), um alle Caches zu löschen.

Sie können dies tun, indem Sie den folgenden Code in eine PHP-Datei in Ihrem Dokumentenstamm einfügen und ihn mit einem Browser aufrufen:

define('DRUPAL_ROOT', getcwd());
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
drupal_flush_all_caches();

Ich habe diesen Code nicht getestet und stelle sicher, dass er entfernt wird, nachdem Sie Ihre Caches geleert haben.

Phizes
quelle
Beachten Sie, dass Sie zuerst die DRUPAL_ROOT-Konstante definieren müssen. Es wurde ursprünglich nicht im Codebeispiel angezeigt, daher habe ich Leerzeichen hinzugefügt, damit es jetzt angezeigt wird.
Ryan Szrama
2

Sie können einstellen

$update_free_access = TRUE;

in settings.php (um Zeile 226) und navigieren Sie zu /update.php. Dadurch wird der Cache geleert.

mymwbg
quelle
0

Sie können den Drupal-Cache löschen, indem Sie den folgenden Befehl entweder in der Windows-Befehlskonsole oder in einer .bat-Datei (oder in der Linux-Konsole) ausführen:

php -r "define ('DRUPAL_ROOT', '../web'); chdir (DRUPAL_ROOT); define ('MAINTENANCE_MODE', 'update'); global $ _SERVER; $ _SERVER ['REMOTE_ADDR'] = '127.0.0.1 '; require_once DRUPAL_ROOT.' / includes / bootstrap.inc '; drupal_bootstrap (DRUPAL_BOOTSTRAP_FULL); drupal_flush_all_caches (); "

Stellen Sie einfach sicher, dass DRUPAL_ROOT im Code auf das Drupal-Verzeichnis verweist.

Vyacheslav Petrov
quelle
0
delete from cache where cid <> '';
delete from cache_block where cid <> '';
delete from cache_bootstrap where cid <> '';
delete from cache_field where cid <> '';
delete from cache_filter where cid <> '';
delete from cache_path where cid <> '';
delete from cache_libraries where cid <> '';
delete from cache_image where cid <> '';
delete from cache_page where cid <> '';
delete from cache_token where cid <> '';
delete from cache_update where cid <> '';
delete from cache_views where cid <> '';
delete from cache_views_data where cid <> '';
Ashish Madkaikar
quelle