Session-Timeout festlegen

  • Hallo
    Ich versuche schon lange verzweifelt meine Session-Dauer meiner Webanwendungen zu verlängern. Ich selbst kann das nicht einfach per PHP setzen. Der gesetzte Session-Timeout-Wert wird scheinbar überschrieben. Da ich einen gemanagten Server bei NetCup habe, haben diese mir den Wert

    session.gc_maxlifetime86400

    gesetzt. Aber trotzdem klappt das nicht. Ich bin ratlos. Die Session soll erst nach einem Tag ablaufen.

    Kann mir jemand helfen?

  • Da ich einen gemanagten Server bei NetCup habe, haben diese mir den Wert

    session.gc_maxlifetime86400

    gesetzt.

    Hast du wirklich einen Managed Private Server von netcup oder nur ein Webhosting Paket - und dann welches?

    Da gibt es viele Möglichkeiten warum deine Webanwendung die Session nicht einen Tag offen hält, aber du beschreibst gar nicht wie es aktuell umgesetzt ist, was schon probiert wurde und weitere Details also sowas wie: Wurde der Browser zwischendurch mal geschlossen oder bleibt der wirklich mehr als einen Tag offen und sind die Cookies dazu auch safe und werden nicht zwischendurch mal entfernt, falls ein PHP Framework mit Session Handling eingesetzt wird welches genau, etc...

    LMLLMT4Y - Let me LLM that for you.

    Die Ergebnisse auf deine schon gut aber wenig ausführliche Frage sind sehr umfangreich und konkret, also hier nur das Fazit:
    -----

    Da netcup den Wert bereits auf 86400 gesetzt hat, tippt die KI auf eines dieser Probleme:

    • Das Session-Cookie läuft beim Schließen des Browsers ab (lifetime = 0).
    • Die Session-Dateien liegen in einem gemeinsam genutzten Verzeichnis bei Webhosting Paketen und vielleicht auch bei Managed Servern deine Session-Dateien werden eventuell von einer anderen Garbage Collection entfernt.
    • Deine Anwendung oder ein Framework beendet die Session selbst.

    WH1000 SE OST22 OST23 OST24 | WH1000 SE ADV25 | WH 🥚🧶🥛🐖 | 🦆 VPS 200 🇺🇦🕊️ ➡️ VPS nano G11s

    Einmal editiert, zuletzt von Copro (28. Juli 2026 um 23:11) aus folgendem Grund: Überschuss entfernt

  • Danke für die schnelle Antwort.
    Ich habe:
    * managed PS 2000 SAS G7 SE
    * Ich nutze kein Framework, reines PHP, JS, HTML, CSS
    * Der Browser wird zwischendurch geschlossen, bzw. der Rechner in den Standby gebracht, soll dann aber beim erneuten Öffnen möglichst die alte Session wieder aufgreifen.

  • * managed PS 2000 SAS G7 SE

    Ob bei den managed Servern die einzelnen Kundeninstanzen strikt getrennt sind, kann ich nicht zu 100 % sagen. Kritisch wäre hier eine gemeinsame Nutzung z.B. des /tmp Ordners für PHP, da hier dann z.B. Daten zur Session möglichweise auch von anderen verändert oder gelöscht werden können.

    Bei der Nutzung von reinem PHP ist es ausschlaggebend, dass auch die Cookies erhalten bleiben.

    Wenn der Browser geschlossen wird, ist die Session-ID weg – selbst wenn die Session-Datei noch 24 Stunden existiert. Manche Browser oder Datenschutz-Einstellungen löschen Session-Cookies beim Beenden. Mit den Entwicklertools (F12 → Application/Storage → Cookies) kannst du prüfen, ob das PHP-Session-Cookie vorhanden bleibt.

    Falls die Session auch nach einem Browser-Neustart bestehen soll und die Browser Datenschutz Einstellungen das erlauben, wäre lifetime richtig zu setzen: (z.B: 'lifetime' => 86400 )

    Man muss sich hier aber mit System rantasten und schauen, was genau verloren geht. Session Data, Cookies, etc ...

    WH1000 SE OST22 OST23 OST24 | WH1000 SE ADV25 | WH 🥚🧶🥛🐖 | 🦆 VPS 200 🇺🇦🕊️ ➡️ VPS nano G11s