MyBB.de Forum
Spalten in Tabels kürzen/löschen - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Sonstiges (https://www.mybb.de/forum/forum-1.html)
+--- Forum: Programmierung (https://www.mybb.de/forum/forum-32.html)
+--- Thema: Spalten in Tabels kürzen/löschen (/thread-21138.html)

Seiten: Seiten: 1 2


RE: Spalten in Tabels kürzen/löschen - xplay - 11.02.2009

24h is mir eig. schon zu lang!
und es sind wie gesagt mehrere sessions für eine uid eingetragen.
sollte max auch nur 1 sein die sich nach 30min löscht...


RE: Spalten in Tabels kürzen/löschen - StefanT - 11.02.2009

Das Verhalten ist mir auch aufgefallen. (Das ist so auch nicht gedacht.) Ich werde das verfolgen. Einen Fehler habe ich aber noch nicht gefunden.


RE: Spalten in Tabels kürzen/löschen - xplay - 11.02.2009

Fehler is esja nicht unbedingt. wenn da die alten sessions erst nach X tagen gelöscht werden ists n feature Wink und ich würd das gern abstellen bzw. zeitlich extrem begrenzen!
meinst das is irgendwie möglich?


RE: Spalten in Tabels kürzen/löschen - StefanT - 11.02.2009

Das mit den doppelten Session ist falsch. Die Sessions werden in dem Task "dailycleanup.php" gelöscht. Eine Änderung könnte aber unerwartete Probleme mit sich bringen.


RE: Spalten in Tabels kürzen/löschen - xplay - 13.02.2009

dailycleanup.php in \inc\tasks
Code:
    // Clear out sessions older than 24h
    $cut = TIME_NOW-60*60*24;
    $db->delete_query("sessions", "uid='0' AND time < '{$cut}'");

a) kann mit jemand sagen was $cut bedeutet und
b) ob ein TIME_NOW-60*60*1 stündlich entsprechen würde
c) was "$db->delete_query("sessions", "uid='0' AND time < '{$cut}'");[/code]" genau bedeutet/macht

muss das ja mal von irgendwem gesagt bekommen wie es geht Wink danke!


RE: Spalten in Tabels kürzen/löschen - Zwoetzen - 13.02.2009

a) TIME_NOW ist die aktuelle Zeit beim Aufruf des Scriptes, gezählt in Sekunden ab 1970 oder so. Mit der gesamten Anweisung wird die "Altersgrenze" der Sessions festgelegt, ab wann sie gelöscht werden sollen (eben alle, die älter als 24 h sind)

b) Ja. (Hinter dem Minus sind einfach die Sekunden, die eine Session alt werden darf, bis sie gelöscht wird)

c) Du gibst damit der Datenbank den Auftrag, alle Datensätze aus "sessions" zu löschen, ie die angegebene Bedingung erfüllen. Das wird letztendlich einfach zu einem DELETE-Query zusammengebaut und an die DB geschickt. (Siehe auch /inc/db_mysql.php für weitere Infos zum $db-Objekt.)


RE: Spalten in Tabels kürzen/löschen - xplay - 16.02.2009

habs nun mal auf eine stunde gestellt. mal sehen wie es sich verhält...


RE: Spalten in Tabels kürzen/löschen - xplay - 23.02.2009

(11.02.2009, 17:30)Dragon schrieb: Das Verhalten ist mir auch aufgefallen. (Das ist so auch nicht gedacht.) Ich werde das verfolgen. Einen Fehler habe ich aber noch nicht gefunden.

Hast schon was raus?
Hab es nun wie gesagt geändert. Leider werden noch immer sessions die ur alt sind gespeichert UND was mich am meisten stört:
mehrere sessions für eine Uid werden gespeichert.

Den Task für ich mehrmals Täglich aus.
Idee?