Zeit der Session Timeout verändern

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Zeit der Session Timeout verändern

    Hallo Leute

    Ich möchte die Standard-Session-Timeout-Zeit von 24min. verändern.

    Ich habe die PHP.ini mit diesem Befehl verändert:

    PHP-Code:
    ini_set('session.gc_maxlifetime',30); 

    Das Problem: die Session des Users wird nicht geschlossen nach 30 Sekunden, er kann fröhlich weiter klicken!


    Wenn ich dann PHPInfo anzeige, zeigt es mir :

    session.gc_maxlifetime = 30 (local value) und 1440 (master value) an!


    Weiss jemand woran das liegen könnte? Genügt die Veränderung des Local Values oder muss ich den Master Value auch verändern? Wenn ja, weiss jemand wie?

    Vielen Dank
    Tinella

  • #2
    Re: Zeit der Session Timeout verändern

    Original geschrieben von tinella
    Weiss jemand woran das liegen könnte?
    ja.
    ob das session-file auch tatsächlich gelöscht wird, hängt davon ab, ob der garbage collector auch aktiv wird. normalerweise passiert das bei jedem 100. seitenaufruf.
    siehe dazu einstellung von session.gc_probability (bei einem wert von 100 wird der gb bei jedem aufruf aktiviert, standard is 1)

    Kommentar


    • #3
      Ich habe nachgeschaut, es ist auf 1 gesetzt.

      Sehe ich das richtig, dass ich das Teil auf 100 setzen muss?

      //EDIT: funktioniert leider auch nicht :-( Aber danke für die Idee!

      Hat jemand 'ne Ahnung wie ich die Sessiontimeoutzeit auf 30 Minuten setzen kann und er dann tatsächlich die Session löscht?
      Zuletzt geändert von tinella; 15.09.2006, 10:40.

      Kommentar


      • #4
        ja, müsste auf 100

        aber ich würde das anders lösen:
        alle sessioneinstellungen auf standard lassen.
        in der session den letzten zugriff (bzw. startzeit) timestamp merken - dann kannst du in deinem script ganz bequem den timeout behandeln.

        Kommentar


        • #5
          Darf ich mal ganz bescheiden fragen, wofür das ganze dienen soll?
          Wir werden alle sterben

          Kommentar


          • #6
            Ach ich bin echt am Anschlag im Moment.

            Ja klar kannst du fragen, das Ganze muss ich machen, damit die Sessiontimeout nicht nach 24 sondern nach 30 Minuten erfolgt!

            Kommentar


            • #7
              Ja, dann mach's so, wie vorgeschlagen, mit Timestamp in der Session.


              gc_maxlifetime ist nämlich eigentlich keine max-, sondern eine min-lifetime. Damit kannst du wenig reißen.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                PHP-Code:
                 ini_set('session.gc_maxlifetime',30*60);
                // dann erst
                session_start(); 
                Wir werden alle sterben

                Kommentar

                Lädt...
                X