$PHPSESSID ??
Hanjo
- php
Moin auch,
was genau gibt die Variable $PHPSESSID an ?
Nur die eigene Session_id ?
Bzw. Wie habe ich Zugriff auf alle z.Zt. auf dem Server registierten (also von verschiedenen Usern stammenden) session_id's ??
TIA
Hanjo
Sie gibt immer nur die SESSIONID des Besuchers an.
Die Variable muss aber net $SESSIONID heißen. ;-)
Gruss
Stefan
Hello,
sämtliche noch registrierte Sessions findest Du üblicherweise im Directory
session.save_path (siehe php.ini)
Dort legt PHP die Sessiondateien unter dem Namen "sess_*****" ab Die ***** stehen für die Session-ID. Unter welchem Variablennamen (Cookienamen) die Session-ID dem Client mitgeteilt wird, wird in
session.name (siehe php.ini)
eingestellt und kann mit der Funktion session_name() scripttemporär VOR dem Aufruf von session_start() beeinflusst werden.
Wenn Du wissen willst, wie alt eine Session ist, solltest Du dich mit den Listfunktionen des OS auseinandersetzen. Linux bietet dafür die drei Zeiten
ctime
mtime
atime
im ls-Befehl als Option.
Mit PHP kann man diese Zeiten mittels
filectime()
filemtime()
fileatime()
http://de2.php.net/manual/de/function.filectime.php
abfragen.
Ob der User aber gerade aktiv ist, lässt sich mit PHP-Mitteln nicht so einfach feststellen, da ein Request und die Antwort darauf mesitens innerhalb weniger Millisekunden abgewickelt ist.
Liebe Grüße aus http://www.braunschweig.de
Tom
Hello,
sämtliche noch registrierte Sessions findest Du üblicherweise im Directory
session.save_path (siehe php.ini)
Dort legt PHP die Sessiondateien unter dem Namen "sess_*****" ab Die ***** stehen für die Session-ID.
Moin auch,
das ist sehr hilfreich und funktioniert.
D.h. ich bekomme so zu den einzelnen session_id s aus der Tabelle die filetime.
Via time()-fileatime() bekomme ich ein recht kleines Zeitfenster, wenn der User online ist.
Also time() - fileatime($sessfile) < 60 könnte dann schon als Kriterium gelten.
Oder täusch ich mioch da ?
Ich teste das gerade aus, indem ich mit zwei verschiedenen Browsers unter der gleicher user_id die entsprechende Seite connectiert habe,
und bekomme jedesmal eine Differenz von max 10, wenn ich ein script ausführe, was das abfragt....
Gruß von der Ostsee
Hanjo
Hello,
das funktioniert aber wahrscheinlich nur auf UNIX/LINUX-Systemen, nicht
aber auf Windows. Da fehlen mWn die Datenfelder für LastAccess und
LastModification.
Liebe Grüße aus http://www.braunschweig.de
Tom
Hello,
das funktioniert aber wahrscheinlich nur auf UNIX/LINUX-Systemen, nicht
aber auf Windows. Da fehlen mWn die Datenfelder für LastAccess und
LastModification.
Nun ja,
der Server, auf dem die fraglichen WebSites liegen, ist natürlich unter Linux (auch wenn ich hier unter windows arbeite ;-))
Gruß von der Ostsee
Hanjo