Fehler: Session Lifetime Einstellungen bei Sitzungsspeicher PHP werden ignoriert

  • Ich vermute einen Fehler im Joomla-Core 3.5.1 bzgl. des Sitzungsspeichers und der Session-Lifetime.


    In der J!Konfiguration habe ich die Möglichkeit die Sitzunglänge einzustellen. Damit ein Kunden beim Pflegen von Virtuemart-Produkten über den Tag nicht bei ungewollten Unterbrechungen ständig aus dem Backoffice fliegt, habe ich die Session-Lifetime auf z.B. 120 min gestellt. Aus projektspezifischen Performancegründen bin ich gezwungen die Sessionspeicherung nicht über die Datenbank zu nutzen, sondern über PHP. Sobald ich aber PHP als Sitzungspeicher einstelle, beträgt diese max. 24min was also der PHP-Standardeinstellung von 1440 Sec. meines Servers entspricht. Die 120Min. werden schlicht ignoriert - bei Datenbank als Sitzungspeicher jedoch exakt eingehalten.


    Kann meine Beobachtung mal jemand von den Core-Entwicklern verifizieren und ggf. korrigieren? Oder gibt es unabdingbare Gründe, dass sich Joomla da so verhält?


    Ich habe aber auch das Gefühl, dass das KeepAlive im Joomla nicht greift. Evtl. aus gleichen Gründen.


  • Sobald ich aber PHP als Sitzungspeicher einstelle, beträgt diese max. 24min was also der PHP-Standardeinstellung von 1440 Sec. meines Servers entspricht. Die 120Min. werden schlicht ignoriert - bei Datenbank als Sitzungspeicher jedoch exakt eingehalten.


    So wie ich den Code lese versucht Joomla sehr wohl auch im PHP-Modus die Session Lifetime zu setzen:
    https://github.com/joomla/joom…/session/session.php#L910


    Schau doch mal im Backend in der PHP-info, was als gc_maxlifetime verwendet wird.

  • @Later: nein sehe das nicht als Logisch. Wenn es diese logik gäbe, dann auch für die DB-Speicherung. Dort greift aber der eigene Wert.
    SniperSister: Japp, wenn man sich die php-Infos in J! anschaut, sieht man, dass der Wert für gc_maxlifetime gesetzt worden ist. Wird halt nur nicht verwendet.


    @Later: Bug-Meldg. Die org ist für mich mit meinen begrenzten Engl.kenntnissen ungeeignet zur präzisen Beschreibung eines solchen Fehlers. Die Joomla-Bugs.de kannte ich noch gar nicht. Danke für diesen Hinweis, werde es dort noch mal posten.

  • Ich kanns nicht reproduzieren. Hab mal drei Seiten (2x Joomla 3.5.1, 1x Joomla 3.6.0) auf PHP umgestellt. 1440 Minuten (24h).
    Und bin nach ca. 3h Inaktivität immer noch drin.


    Spricht denn was dagegen, die globalen Werte zu überschreiben, machen wir doch bei "Fehler berichten" auch?


    Siehe z.B. max_execution_time und diverse andere. Wenn der Provider/Server es nicht zulässt, kannst egal was einstellen.


    Wenn ich in htaccess eintrage
    php_value max_execution_time 6000
    (vollkommen unrealistischer Wert),
    zeigt mir das die PHP-Konfiguration in Spalte local an, aber Server wird das trotzdem niemals zulassen. EDIT: Standard-Server bei einem Standard-Provider.


    Das selbe Spiel mit
    ini_set('max_execution_time', 6000);

  • Okay, verstehe. Du gehst davon aus, dass meine Servereinstllg. das Überschreiben der PHP-Master-Standards nicht zulässt. Das klingt plausibel und wird gezielt getestet. Würde auch erklären, warum es mit DB-Speicherung funzt und mit php nicht. Ich habe ein sehr hochwertiges Agentur-Hostingpaket bei HostEurope. Mal sehen, was der Support dazu sagt, ob ich ne Chance hätte den Master-Wert zu ändern ...
    Vielen Dank für diese Anregung.