Seite 1 von 1

Wie bestimme ich maxrows einer Tabelle?

Verfasst: 13.09.2007 19:38
von bcs
Im Zusammenhang mit dem bekannten Problem "Error creating new session". Ich hab schon jede Menge gesucht und u.a. die Artikel aus der Knowledgebase gelesen:

http://www.phpbb.de/doku/kb/sessions
http://www.phpbb.com/community/viewtopic.php?t=66998

Meine Frage:

1. Nach diesen Artikeln leert phpBB die phpBB_sessions NIE? Aber ist die damit nicht immer binnen kurzer Zeit voll und müßte dann der Fehler nicht immer bei allen auftreten? Oder gibt es andere Mechanismen, die Tabelle leeren? Wie soll das Forum also jemals funktionieren, wenn die Tabelle immer nur vollgestopft wird?

2. Der Hack zum automatischen Leeren (s. Artikel in Knowledgebase) löscht, wenn die Anzahl der Zeilen > 2500 steigt. Gleichzeitig steht, dass die Zeilenzahl i.d.R. von MYSQL auf 500 begrenzt ist. Damit wirkt der Hack doch NIE, wenn ich die Zeilenanzahl nicht manuell erhöhe, oder? Wie kann ich die aktuelle maximale Größe von php_sessions auslesen? (mit phpMyAdmin oder einem SQL-Statement?)

Danke!

Verfasst: 14.09.2007 09:39
von bcs
Zur ersten Frage (MAX_ROWS) habe ich glaube eine Lösung gefunden (http://www.phpbb.de/viewtopic.php?p=903010). Bleibt nur die Frage: Warum läuft die Tabelle phpbb_sessions nicht grundsätzlich immer ziemlich schnell über?

Verfasst: 14.09.2007 23:31
von gn#36
Dass die Sessions Tabelle nicht geleert wird ist so nicht ganz richtig. Es werden immer wieder ältere Einträge entfernt (deren letzte Nutzung z.b. lange her ist oder bei denen der Autologin-Zeitraum abgelaufen ist. (Siehe sessions.php Funktion session_clean())