ConPresso4 Community

Fragen, Antworten, Diskussionen rund um das Content Management System ConPresso

 
Session Garbage Collection

 
Neue Antwort erstellen    ConPresso4 Community Foren-Übersicht -> Bugs ConPresso 4
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 7057

BeitragVerfasst am: 23.01.2019 12:29    Titel: Session Garbage Collection Antworten mit Zitat

Ich musste feststellen, dass in meinen Installationen unter PHP 7.2 und 7.3 die Session Garbage Collection nicht funktioniert, weil session.gc_probability auf 0 steht und sich auch nicht mittels ini_set('session.gc_probability', 1) aktivieren lässt.
Warum das so ist konnte ich nicht rauskriegen, laut PHP-Doku sollte das per ini_set funktionieren, tut es aber nicht.
Damit ist die in sessiondb.inc.php gewählte Aktivierung per ini_set wirkungslos und die anschließende Nutzung des vermeintlich gesetzten Wertes erfolglos.

Daher habe ich das jetzt mal geändert.

In sessiondb.inc.php
Code:
function sessionDB_open($save_path, $session_name)
{
    // Workaround for Debian systems with disabled GC
    if (ini_get('session.gc_probability')==0) @ini_set('session.gc_probability', 1);

    if (rand(1, ini_get('session.gc_divisor'))<=ini_get('session.gc_probability'))
        sessionDB_gc(ini_get('session.gc_maxlifetime'));
    return true;
}

wird zu
Code:
function sessionDB_open($save_path, $session_name)
{
    // Workaround for Debian systems with disabled GC
    if (ini_get('session.gc_probability')==0 && rand(1, ini_get('session.gc_divisor'))<=1)
        sessionDB_gc(ini_get('session.gc_maxlifetime'));
    return true;
}

Es wird also gar nicht mehr versucht den Wert auf 1 zu setzen sondern stattdessen wird von 1 (also aktiv) ausgegangen und somit die Garbage Collection gemäß Divisor ausgeführt.

edit: und gerade habe ich festgestellt, dass ich das schon mal im Mai 2010 mit der fixen "1" hier im Forum geschrieben hatte und Balu dazu die ini_set-Lösung "nur im Forum" schrieb, die dann aber doch als Code Einzug in CPO hielt...
http://community.conpresso.de/viewtopic.php?p=26001#26001
aber leider funktioniert ini_set nun nicht...

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7

 
Für dieses Posting bedanken sich die folgenden User: Mr. Magpie
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neue Antwort erstellen    ConPresso4 Community Foren-Übersicht -> Bugs ConPresso 4 Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen