Hallo,
ich habe trotz dem Durchforsten einiger Forenbeiträge einige Unklarheiten zum Session Handling in PHP:
ini_set("session.use_trans_sid","1");
ini_set("session.use_cookies","1");
ini_set("session.gc_probability","100");
ini_set("session.gc_divisor","1");
ini_set("session.gc_maxlifetime","1");
session_start();
$_SESSION['x'] = 120;
echo "<a href='index.php'>reload</a><br />";
echo $_SESSION['x'];
session_destroy();
Frage1: ich überüfe die Gültigkeit eines Login dadurch dass ich die Differenz von jetziger Zeitpunkt abzgl. Zeitpunkt letzter Aktivität mit der Dauer des SessionTimeout vergleiche. Wenn ich die Dauer des SessionTimeout bspw. auf 2 Std. setze, ist es dann möglich, dass trotzdem die Session nicht mehr vorhanden ist, da session.gc_maxlifetime standardmäßig auf 24min gesetzt ist?
Frage2: der obige Code gibt immer die Zahl 120 aus und die Session Id bleibt die gleiche. Obwohl doch die physische Sessiondatei mit einer Wahrscheinlichkeit von 100% gelöscht werden sollte, da die maxlifetime auf 1 begrenzt wurde.
Frage3: zumindest sollte doch session_destroy die Session zerstören. Erfolgt aber nicht. Ist das eine mit der Session zusammenhängende globale Variable? Den lt. dem php manuel werden diese nicht gelöscht.
Danke und viele Grüße
Benedikt