[ 2.0.x ] Sessions Manager *emc

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
heinzisoft
Mitglied
Beiträge: 55
Registriert: 05.03.2004 20:26

Beitrag von heinzisoft »

Heißt das dann, dass ab einer Bestimmten Anzahl an gleichzeitigen Benutzern die, die zuerst da waren rausgeschmissen werden?
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Sozusagen, sie müssten sich dann neu einloggen.
Aber sowas solltest du immer erst machen, wenn Probleme diesbezüglich auftreten.
heinzisoft
Mitglied
Beiträge: 55
Registriert: 05.03.2004 20:26

Beitrag von heinzisoft »

Also meinst du, ich solle den Mod erst installieren, wenn Probleme auftreten.
Diese sind bei meiner aktuellen Userzahl relativ unwahrscheinlich ;-)
kickaha
Mitglied
Beiträge: 24
Registriert: 19.02.2003 20:18

Beitrag von kickaha »

Also ich hatte den Mod inzwischen auch mal eingebaut, da er ja gerade bei großen Besucherzahlen helfen sollte...

Auf einen kleinen Forum mit nur wenig besuchern läuft er scheinbar ganz gut, aber auf einen besser besuchten überhaupt nicht...


Sobald mal ein paar Usern aud den Forum warn wurde des bekannte Fehler ausgelöst, da hilft den nur alle Sessions löschen bzw. den Mod wieder rauszuschmeissen...

Aber mir ist da was aufgefallen, der Manager gibt mir solche Werte aus...

Momentan vorhanden: 1311
Verbleibende bis zur Löschung: -311
Gelöscht werden: 50

Aber was soll das mit der negativen Zahl ?!

Kickaha
Gast

Beitrag von Gast »

Dwing hat geschrieben:Versucht mal:

Code: Alles auswählen

//
// Delete old sessions
//
$sql = 'DELETE FROM ' . SESSIONS_TABLE . '
        ORDER BY session_start
        LIMIT 50;'; 
Ist das jetzt die richtige Lösung oder was? :-?

Ich hatte heute auch folgenden Fehler:

Code: Alles auswählen

Warning: Failed opening './language/lang_english/lang_main.php' for inclusion (include_path='.:/usr/share/pear') in /home/httpd/vhosts/fahrschule-froehlich.de/httpdocs/includes/functions.php on line 2026 
phpBB : 

Error clearing sessions table 

DEBUG MODE 

SQL Error : 1064 You have an error in your SQL syntax near 'ORDER BY session_start LIMIT 50' at line 2 

DELETE FROM phpbb1_sessions ORDER BY session_start LIMIT 50 

Line : 222 
File : /home/httpd/vhosts/fahrschule-froehlich.de/httpdocs/common.php 
:(

Bitte um Hilfe, wäre sehr nett.

LG

Sascha

BTW:
Warum sind im phpBB Hardcodings mit "lang_english" enthalten? Ich habe die jetzt alle gesucht und ausgetauscht gegen "lang_german", weil es ersters Sprache bei meinem Boadr nicht mehr gibt ... :-?
Gast

Beitrag von Gast »

Und schon wieder den gleichen Fehler heute morgen mit dem zusätzlichen Semikolon! :evil:

Kann das mal einer richtig machen? Ich kann mein Board derzeit nicht mehr verwenden, weil mir die session table ständig überläuft und der Mod nicht funktioniert! :(

Danke und liebe Grüße

Sascha

Hier die Daten zum Zeitpunkt des Crashs: Klick
Gast

Beitrag von Gast »

Hallo zusammen,

ich habe jetzt mal einen Vergleich gemacht zwischen meiner session table und einer defaultmäßigen Session table:

Meine Session Table:

Code: Alles auswählen

CREATE TABLE `phpbb_sessions` (
  `session_id` varchar(32) NOT NULL default '',
  `session_user_id` mediumint(8) NOT NULL default '0',
  `session_start` int(11) NOT NULL default '0',
  `session_time` int(11) NOT NULL default '0',
  `session_ip` varchar(8) NOT NULL default '',
  `session_page` int(11) NOT NULL default '0',
  `session_logged_in` tinyint(1) NOT NULL default '0',
  `session_robot` varchar(32) default NULL,
  PRIMARY KEY  (`session_id`),
  KEY `session_user_id` (`session_user_id`),
  KEY `session_id_ip_user_id` (`session_id`,`session_ip`,`session_user_id`)
) TYPE=HEAP MAX_ROWS=500;
Defaultmäßige Table:

Code: Alles auswählen

CREATE TABLE `phpbb_sessions` (
  `session_id` varchar(32) NOT NULL default '',
  `session_user_id` mediumint(8) NOT NULL default '0',
  `session_start` int(11) NOT NULL default '0',
  `session_time` int(11) NOT NULL default '0',
  `session_ip` varchar(8) NOT NULL default '0',
  `session_page` int(11) NOT NULL default '0',
  `session_logged_in` tinyint(1) NOT NULL default '0',
  `session_robot` varchar(32) default NULL,
  PRIMARY KEY  (`session_id`),
  KEY `session_user_id` (`session_user_id`),
  KEY `session_id_ip_user_id` (`session_id`,`session_ip`,`session_user_id`)
) TYPE=MyISAM;
Warum ist meine Table auf 500 Zeileneinträge begrenzt, und warum von Typ HEAP und was ist der Unterschied zum Typ MyISAM?

Welches Script macht die Table zum Typ HEAP? Dieses hier, oder könnte das das Datenbankoptimierungstool auch gewesen sein? Und warum die Begrenzung auf 500 Zeileneinträge?

Vielleicht konnte ich damit etwas zur Problemlösung beitragen. :)

Vielen Dank und sorry für meine schlechte Laune, aber das ist halt echt ärgerlich. ;)

Liebe Grüße

Sascha

P.S.: Ich habe die Table jetzt erst einmal gedroppt und die Defaultmäßige created, und hoffe dass jetzt bis zur Problemlösung Ruhe ist. :)

€dit:
Das Datenbankoptimierungstool wandelt die session table in den Typ HEAP um, wenn man diese Funktion anstößt, was ich wohl mal getan habe. Die Frage ist nun, begrenzt dieses Tool auch die Zeileneinträge, oder nicht? Und was soll das für einen Sinn ergeben? :-?
hope
Mitglied
Beiträge: 16
Registriert: 27.02.2003 14:15

Beitrag von hope »

Hi,

es gibt auch noch eine Möglichkeit für die mysql3 Nutzer den bestehenden Mod zu benutzen. Es muss nur das delete-query in der common.php auf

Code: Alles auswählen

delete from ' . SESSIONS_TABLE . ' where unix_timestamp(now())-session_time>1500

geändert werden, was alle Einträge entfernt die länger als 25 Minuten keine Aktivität aufweisen, was mir ein vernünftiger Wert erscheint. Dann muss man etwas "spielen" mit dem Wert wann das delete-query losgehen soll.

Code: Alles auswählen

if ( $session_count >= '200' )


funktioniert bei mir einwandfrei.

Gruss
Deniz
Dwing
Ehrenadmin
Beiträge: 1965
Registriert: 17.06.2001 02:00

Beitrag von Dwing »

UPDATE
Alle, die Probleme mit dem Mod haben (die anderen auch) können mal diese Version testen:
http://www.weingarten-net.de/static/fil ... _1.9.0.zip

Sollte die Probleme beheben, erkennt automatisch die MySQL Version und passt den Query an.
Die Maximale Anzahl für Sessions wurde auf 250 erhöht.
Gast

Beitrag von Gast »

Ich habe diese Lösung eingebaut, und seitdem keine Probleme mehr:

http://phpbb.com/kb/article.php?article_id=42
Antworten

Zurück zu „phpBB 2.0: Mod Support“