[Final] NV "Who Was Here?" 1.2.1

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
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.
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17473
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

Moin, schön das Du wieder Zeit hast ;-)

Ich habe Paul999's Script mal getestet. Es verringert zwar die Queries erheblich, lässt aber auch ein paar Probleme auftauchen....


Die "Richtung" mit weniger Queries auszukommen sollte aber in der zukünftigen version bedacht werden.

Als Tipp:
Aktiviere mal in Deiner "config.php" die Zeilen:

Code: Alles auswählen

@define('DEBUG', true);
@define('DEBUG_EXTRA', true);
Dann kannst Du dir über den "Explain" Link im Footer die Queries "sichtbar" schalten....
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Beitrag von nickvergessen »

Dr.Death hat geschrieben:Ich habe Paul999's Script mal getestet. Es verringert zwar die Queries erheblich, lässt aber auch ein paar Probleme auftauchen....
Die "Richtung" mit weniger Queries auszukommen sollte aber in der zukünftigen version bedacht werden.
Das es Probleme erzeugt, hab e ich auch shcon gesehen, natürlich stehet eine verbesserung der Performance nicht an letzer Stelle ;). Aber ein erheblicher Schritt in diese Richtung ist ja schonmal die aufteilung in der neuen Version mit den 2 Dateien, die du shcon hast.
Dr.Death hat geschrieben:Als Tipp:
Aktiviere mal in Deiner "config.php" die Zeilen:

Code: Alles auswählen

@define('DEBUG', true);
@define('DEBUG_EXTRA', true);
Dann kannst Du dir über den "Explain" Link im Footer die Queries "sichtbar" schalten....
danach hab ich schon ewig gesucht und nie hab ichs gefunden... aber danke für den tipp^^
kein Support per PN
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17473
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

Ich hab, selbst mit den neuen "Testdateien" immer noch "89 Queries - 150 Queries"....

...aber Du siehst jetzt ja, warum ;-)
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Beitrag von nickvergessen »

aber ihc kanns mir nicht erklären:

Code: Alles auswählen

Time : 0.169s | 17 Queries | GZIP : Off | Explain
explain sagt: explain.txt
kein Support per PN
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17473
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

Ich Dir diesbezüglich:

Code: Alles auswählen

Time : 0.154s | 161 Queries | GZIP : Off | Memory Usage: 2.92 MB | Explain
mal eine PM geschickt ;-)

EDIT: Update !

Ich hab da einen schweren Fehler gefunden, der die Query Anzahl bei mir auf über 350 getrieben hat.

( RC2 )

Öffne die Datei includes/function_wwh.php

SUCHE:

Code: Alles auswählen

// bots need to get a extra handle
$sql = ' SELECT u.user_type, u.user_id, u.user_ip, u.user_lastvisit, u.user_allow_viewonline, w.id
	FROM ' . USERS_TABLE . ' u, ' . WWH_TABLE . ' w
	WHERE u.user_type = ' . USER_IGNORE . '
		AND u.user_id <> 1
		AND u.user_lastvisit > '.$timestamp_cleaning;
ERSETZE MIT:

Code: Alles auswählen

// bots need to get a extra handle
$sql = ' SELECT u.user_type, u.user_id, u.user_ip, u.user_lastvisit, u.user_allow_viewonline, w.id
	FROM ' . USERS_TABLE . ' u, ' . WWH_TABLE . ' w
	WHERE u.user_type = ' . USER_IGNORE . '
		AND u.user_id <> ' . ANONYMOUS . '
		AND u.user_id = w.id 
		AND u.user_lastvisit > '.$timestamp_cleaning;
Wenn man 2 Tabellen abfragt, solte man das Ergebnis gegeneinander abgleichen.

Es fehlte dieser Code Schnipsel:

Code: Alles auswählen

AND u.user_id = w.id 
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Beitrag von nickvergessen »

FIX

Öffne die Datei includes/function_wwh.php

SUCHE:

Code: Alles auswählen

// bots need to get a extra handle
$sql = ' SELECT u.user_type, u.user_id, u.user_ip, u.user_lastvisit, u.user_allow_viewonline, w.id
	FROM ' . USERS_TABLE . ' u, ' . WWH_TABLE . ' w
	WHERE u.user_type = ' . USER_IGNORE . '
		AND u.user_id <> 1
		AND u.user_lastvisit > '.$timestamp_cleaning;
ERSETZE MIT:

Code: Alles auswählen

// bots need to get a extra handle
$sql = ' SELECT u.user_type, u.user_id, u.user_ip, u.user_lastvisit, u.user_allow_viewonline, w.id
	FROM ' . USERS_TABLE . ' u, ' . WWH_TABLE . ' w
	WHERE u.user_type = ' . USER_IGNORE . '
		AND u.user_id <> ' . ANONYMOUS . '
		AND u.user_id = w.id 
		AND u.user_lastvisit > '.$timestamp_cleaning;

// Danke an Dr.Death
kein Support per PN
pcaaron
Mitglied
Beiträge: 84
Registriert: 07.04.2007 12:45
Wohnort: Thum
Kontaktdaten:

Beitrag von pcaaron »

Ne Frage!
hier steht in der Anleitung
Add before
soll ich dann z.B.

Code: Alles auswählen

//---- [ who was here ] ----
include($phpbb_root_path . 'includes/functions_wwh.' . $phpEx);
//---- [ who was here ] ----
Eine Zeile höher oder davor machen!
Benutzeravatar
redbull254
Ehemaliges Teammitglied
Beiträge: 10379
Registriert: 05.01.2006 13:01
Kontaktdaten:

Beitrag von redbull254 »

Hallo, erstmal
das sollte Dir weiter helfen. :wink:

http://www.phpbb.de/doku/kb/artikel.php ... #einfuegen
Beste Grüße
Walter
choffi
Mitglied
Beiträge: 44
Registriert: 28.06.2006 14:46

Beitrag von choffi »

Hallo Folgendes Problem :)
phpBB Debug] PHP Notice: in file /includes/functions.php on line 3315: debug_backtrace() has been disabled for security reasons
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3318: Invalid argument supplied for foreach()
Allgemeiner Fehler
SQL ERROR [ mysql4 ]

Table 'choffi_05.phpbb_wwh' doesn't exist [1146]

SQL

DELETE FROM `phpbb_wwh` WHERE `last_page` < '1183337229'

BACKTRACE
öhm, was soll das heißen? also ich hab die dateien genommen die du bereits dabei getan hast, weil ich vorher keinen most installiert hatte...
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Beitrag von nickvergessen »

Du hast wohl vergessen die MySQL-Änderungen auszuführen.
Log dich in phpmyadmin ein, wähle die richtige Datenbank aus und führe dann folgenden SQL-Code aus:

Code: Alles auswählen

CREATE TABLE `phpbb_wwh`
(
`rolling`     INT AUTO_INCREMENT PRIMARY KEY,
`ip` VARCHAR( 15 ) NOT NULL ,
`id` VARCHAR( 15 ) NOT NULL ,
`viewonline` varchar(10),
`last_page` varchar(15)
);
INSERT INTO phpbb_config( config_name, config_value, is_dynamic )
VALUES ('wwh_counter_date', '0', '1');
INSERT INTO phpbb_config( config_name, config_value, is_dynamic )
VALUES ('wwh_record_time', '0', '1');
INSERT INTO phpbb_config( config_name, config_value, is_dynamic )
VALUES ('wwh_record_ips', '0', '1');
INSERT INTO phpbb_config( config_name, config_value, is_dynamic )
VALUES ('wwh_dips_bots', '1', '1');
INSERT INTO phpbb_config( config_name, config_value, is_dynamic )
VALUES ('wwh_dips_time', '1', '1');
INSERT INTO phpbb_config( config_name, config_value, is_dynamic )
VALUES ('wwh_form', '1', '1');
INSERT INTO phpbb_config( config_name, config_value, is_dynamic )
VALUES ('wwh_del_time', '86400', '1');
kein Support per PN
Antworten

Zurück zu „[3.0.x] Mods in Entwicklung“