Hallo,
weiss jemand ob session_cache_expire() geeignet ist, einen session timeout festzusetzen? Ich habe erfolglos mit dem php.net Beispiel rumgebastelt (Die Session bleibt einfach erhalten), und mache es "klassisch", indem ich die Auslaufzeit manuell neu setze und bei Ueberschreiten die Session beende.
Hi hab gestern selber noch session_cache_expire() benötigt, fand die Erklärung auch n bischen mager, wenn du die Comments zu dem session_cache_expire() liest, die in der php doku drin sind langts zum verstehen wofür session_cache_expire() gedacht ist...
habe es bei mir in 2 varianten gebraucht und es hat funktioniert:
1. Aufruf ohne Übergabeparameter: es liefert dir den Aktuellen Wert zurück ( in Minuten ) der besagt, wie lange es dauert bis die Session Ungültig ist. Und "nicht mehr zu gebrauchen" ist. D.h. aber nicht das sie zu diesem Zeipunkt von Garbage Collector schon aufgeräumt ist... Das kannst du noch mit ner weiteren Funktion beeinflussen...
2. Aufruf mit Übergabeparameter ( zb 30): Es wird der Timer für eine Session auf 30 Minuten gesetzt. Wenn du dieses Setzen nicht machst, gilt die Ablaufzeit die vom Server als Standard gesetzt ist. Die kannst mit phpinfo() finden. Wenn du die 30 min wartest ( zum testen kannst auch 5 oder 1 nehmen ;-) ) Und dann Auf die Session zugreifen willst bekommst du darauf kein Zugriff mehr, was bei mir zb die Folge hat, dass man aus dem internen Bereich rausfliegt und sich neu anmelden muss...
Fazit: mit session_cache_expire() kannst du sowohl die Zeit abfragen, als auch setzen und es funktioniert...
Gruesse Joachim
Grüße zurück Stefan