Ankündigung

Einklappen
Keine Ankündigung bisher.

session dauert zu lang...

Einklappen

Neue Werbung 2019

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

  • Gast-Avatar
    Ein Gast erstellte das Thema session dauert zu lang....

    session dauert zu lang...

    mein script hat zu lange sessions, sie hält schon über 3 stunden an
    wie kann ich sagen, das er nach z.b. 1ner stunde die session beendet

  • Gast-Avatar
    Ein Gast antwortete
    das gild ja auch nur als test, ich wart doch nicht 1-2 stunden, und wens nicht klapt die zeit vertödelt...

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Naja, bei 10 Sekunden Laufzeit fast schon unerheblich

    Ja, vertippt und nicht getestet.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    eher < time() ^^, sonst würde er ja immer die session löschen

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Ah, wieder was gelernt.
    session.gc_maxlifetime, das bezieht sich nur auf die Garbage Colection.
    Wenn die läuft (gesteuert durch session.gc_probability, session.gc_divisor), dann werden Daten, die länger als maxlifetime Sekunden nicht benutzt wurden, entfernt.
    Das eigentliche Laden der Sessiondaten scheint nach dem Prinzip: "Wenn die Daten noch vorhanden sind, dann sind sie auch gültig" zu laufen.
    Eine verlässliche/unausweichliche Begrenzung scheint es also in php eingebaut nicht zu geben.
    Aber Du kannst die Laufzeit in der Session abspeichern und nach session_start() jeweils abprüfen. Wenn die zeit abgelaufen ist, einfach alle Daten löschen und session_destroy() aufrufen.
    PHP-Code:
    <?php
    session_start
    ();
    if (!isset(
    $_SESSION['maxtime'])) {
        
    // neue Session
        
    $_SESSION['maxtime'] = time() + 10;
    }
    else {
        if (
    $_SESSION['maxtime'] > time()) {
            
    // alles löschen, aus und vorbei
        
    }
    }
    ?>
    Der Cookie beim Client ist eigentlich egal. Aber versuchen ihn zu löschen, kannst Du ja trotzdem.
    Beispiel gibt es bei http://php.speedbone.de/manual/en/fu...on-destroy.php

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    wenn ich init_set() weg lasse, ist es automatisch wieder bei 1440
    du meins so
    deklare.php
    PHP-Code:
    <?php
     error_reporting
    (E_ALL);
     
    init_set("session.gc_maxlifetime",1);
     
    session_start();
     
    $_SESSION['user']="sen-me";
    ?>
    output.php
    PHP-Code:
    <?php
     error_reporting
    (E_ALL);
     
    session_start();

     if(isset(
    $_SESSION['user'])) echo "Die Session existiert noch!";
     else echo 
    "Die Session existiert [b]nicht[/b] mehr";
    ?>
    ?
    geht immer noch nich (zeigt immer an, das sie noch existiert)

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Mach doch einfach mal eine Seite mit de, folgenden Inhalt:
    PHP-Code:
    <?php
    Error_reporting
    (E_ALL);
    Session_start();

    if(isset(
    $_SESSION['user']))
    {
    echo 
    "Die Session existiert noch!";
    }
    else
    {
    echo 
    "Die Session existiert [b]nicht[/B] mehr";
    }
    ?>
    Die Datei musst du dann aufrufen, nachdem du die andere Datei, in der die Session angelegt wurde ausgeführt hast.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    das script daoben, die session hält immernoch über 10 sekunden an, sogar über 10 minuten

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    nach 10 sekunden ist die session immer noch da
    Das äußert sich genau wie?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    PHP-Code:
    <?php
     ini_set
    ("session.gc_maxlifetime",10);
     
    session_start();
     echo 
    ini_get("session.gc_maxlifetime");
     if(
    $_POST['name']!=""$_SESSION['name']=$_POST['name'];
     echo 
    "Name = ".$_SESSION['name'];
    ?>
    nach 10 sekunden ist die session immer noch da

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Online-Handbuch benutzen
    http://www.php.net/manual/de/configuration.php

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    ich hab irgendwo gelesen das es als minuten zu beachten gild

    und wie stellt man nun das ein?
    PHP-Code:
    session_start();
    session.gc_maxlifetime 3600
    oda wie?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Was an
    Zitat von http://www.php.net/manual/de/ref.session.php#ini.session.gc-maxlifetime
    session.gc_maxlifetime integer

    session.gc_maxlifetime spezifiziert die Anzahl der Sekunden, nach denen Daten als 'garbage' ('Müll') betrachtet und entsorgt werden.
    läßt Zweifel daran aufkommen, ob die Angabe in Sekunden oder Minuten ist?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    ist doch egal, zumindest fürn beispiel

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    --> nicht session_register() benutzen...das is veraltet!!!

    benutz $_SESSION['user'] = $user;

    stego87 :wink:

    Einen Kommentar schreiben:

Lädt...
X