2011-01-17 12 views
4

1, was ist der in der Tabelle zwischengespeicherte Cache?{help} - drupal --- cache_form-Tabelle ist zu groß

2, die cache_form-Tabelle meiner Site ist zu groß (1.0G). Der Cron hat seit einem Monat nicht mehr gearbeitet. Wenn ich es manuell ausführe, kann es immer noch nicht funktionieren. Warum. Die Drupal-Version ist 6.19.

Antwort

6

Ein Hotfix, wäre es, alle Zeilen manuell aus der Datenbank zu löschen. Das Problem ist jedoch nicht, dass die Formulartabelle zu groß wird, sondern dass Cron fehlschlägt. Wenn Sie cron auf Ihrer Website nicht ausführen, werden in Zukunft viele Probleme auftreten, wenn Sie das Problem nicht finden und beheben.

+0

Bitte lassen Sie mich wissen, welche Cron insbesondere, ich hatte Cron-Jobs auf meinem Dev-Server heruntergefahren, und jetzt ist die Größe in GB. Ich werde diesen bestimmten Cron durch Elysia oder irgendein Modul aktivieren. – GoodSp33d

+0

@ 2-Stroker Drupal haben nur einen einzigen Cron-Job, in den sich andere Module einklinken, er läuft durch die Datei cron.php in Ihrem Drupal-Root. – googletorp

+0

Ich denke, ich habe es nicht richtig formuliert, sry, eigentlich habe ich nach bestimmten 'hook_cron' wie' system_cron' oder 'search_cron' gefragt, so dass ich diesen bestimmten Haken allein mit dem Elysia-Modul aktivieren kann. Ich habe versucht, alle Haken laufen, aber immer noch Tischgröße war um 2GB. – GoodSp33d

10
DELETE FROM cache_form where expire < UNIX_TIMESTAMP(NOW()) 
+0

Dies ist die richtige Antwort. – stefgosselin

+0

Das ist die beste Antwort! Danke, Yuko! – user2519032

0

Um Ihre erste Frage zu beantworten, hält die cache_form genau, wie es klingt, zwischengespeicherte Formulare. Auf Websites mit einer Reihe von Formularen, wie z. B. einer großen Übercart-Site, auf der jede Produktseite ein Add-in-Cart-Formular ist, kann diese Tabelle ginormous werden.

Es scheint, als ob diese Tabelle zu groß wird, ist eine direkte Folge von Cron nicht ordnungsgemäß ausgeführt, wie @googletorp angibt.

0

Ich benutze Drupal7.22 und ich installierte das cron_cache Modul, das alle Cache einschließlich Cache_form alle 24 Stunden löscht.

1

Das Problem mit Cron_cache ist, dass eine Kürzung auf den Tabellen ist. Das bedeutet, dass auch aktive Sitzungen gelöscht werden.