Online-Liste im cache ?

Fragen zur Bedienung von phpBB 3.0.x, Probleme bei der Benutzung und alle weiteren Fragen inkl. Update auf die neuste phpBB 3.0.14 Version
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
djchrisnet
Mitglied
Beiträge: 1275
Registriert: 29.06.2007 15:52
Wohnort: Elmshorn
Kontaktdaten:

Online-Liste im cache ?

Beitrag von djchrisnet »

kann mir jemand erklären, was in 3.0.1 an der onlineliste geändert wurde? nach einem Login dauert es ca. 1-3 seiten aktualisierungen bis ich in der online liste bin.

Werden die nun gecached oder wie?
Benutzeravatar
Metzle
Ehemaliges Teammitglied
Beiträge: 10435
Registriert: 08.03.2008 02:50
Wohnort: Waiblingen-Neustadt
Kontaktdaten:

Beitrag von Metzle »

Hallo,

ich kann das bestätigen von djchrisnet. Bei mir braucht es auch mal mindestens eine Aktualisierung, bis ich in der Liste erscheine.
Metzle
phpBB.de-Support-Team
Allround-phpBB.de
Benutzeravatar
djchrisnet
Mitglied
Beiträge: 1275
Registriert: 29.06.2007 15:52
Wohnort: Elmshorn
Kontaktdaten:

Beitrag von djchrisnet »

Ich war so frei und hab selbst geschaut. JA die in der functions.php seit 3.0.1 neu hinzugekommenen funktionen obtain_guest_count und obtain_users_count cachen die ergebnisse der SQL Abfrage für Users 30 Sekunden und für Gäste 60 Sekunden lang. meines erachtens zwar sinnvoll, aber irgendwie Iritiert das sehr, wenn man sich anmeldet, aber nicht in der Liste auftaucht. immerhin schauen die meisten mich eingeschlossen erstmal ob der Login wirklich geklappt hat. bzw. es könnten user auf die Idee eines Fehlers ihrerseits kommen.

Deshalb werde ich in den nächsten Tagen einen Mod veröffendlichen, der dieses Verhalten steuert und und per ACP konfiguriert! Und dabei auch trotz langem caching neue User beim abmelden oder anmelden neu einliest.

hier die Codeänderungen zum permanenten deaktivieren des cachings:

Öffne includes/functions.php:

Finde:

Code: Alles auswählen

$result = $db->sql_query($sql, 60);
	$guests_online = (int) $db->sql_fetchfield('num_guests');
	$db->sql_freeresult($result);
ersetze gegen:

Code: Alles auswählen

$result = $db->sql_query($sql);
	$guests_online = (int) $db->sql_fetchfield('num_guests');
	$db->sql_freeresult($result);
Finde:

Code: Alles auswählen

$sql = 'SELECT s.session_user_id, s.session_ip, s.session_viewonline
		FROM ' . SESSIONS_TABLE . ' s
		WHERE s.session_time >= ' . ($time - ((int) ($time % 30))) .
			$reading_sql .
		' AND s.session_user_id <> ' . ANONYMOUS;
	$result = $db->sql_query($sql, 30); 
Ersetze gegen:

Code: Alles auswählen

$sql = 'SELECT s.session_user_id, s.session_ip, s.session_viewonline
		FROM ' . SESSIONS_TABLE . ' s
		WHERE s.session_time >= ' . ($time - ((int) ($time % 30))) .
			$reading_sql .
		' AND s.session_user_id <> ' . ANONYMOUS;
	$result = $db->sql_query($sql); 
Danke fürs Lesen
Antworten

Zurück zu „[3.0.x] Administration, Benutzung und Betrieb“