
Ich habe da zwei Sachen durcheinander gebracht. Es gibt da ein anderes Open-Source-Projekt, dass das Session-Problem gelöst und den Timeout auf 10 Minuten gesetzt hat. MODx war das aber nicht. Asche über mein Haupt.
Bei MODx wird (wohl seit 0.9.6.) die Config-Einstellung [tt]session.cookie.lifetime[/tt] beim Setup auf 604800 Sekunden gesetzt (7 Tage). Die werden aber nur dann aktiv, wenn beim Einloggen "Remember me" aktiviert ist. Ansonsten ist das Cookie mit Ende der Browsersitzung weg.
MODx setzt entgegen meiner ursprünglichen Aussage (naja, war ne Vermutung ;-) kein Zeitlimit für die Aktivität der Sitzung, sondern überlässt dies PHP.
Die unterschiedlichen Zeiten bis zum automatischen Session-Ende kommen durch die PHP-Einstellungen zustande. Auf einem Produktiv-Server werden häufiger inaktive Sessions gelöscht als auf dem Rechner daheim (da auf letzterem weniger Requests). Zurück zur Ausgangsfrage

Die entsprechenden PHP-Einstellungen für die Dauer Deiner Sitzung, Stefan:
# php.ini
session.gc_probability = 1
session.gc_divisor = 100
session.gc_maxlifetime = 1440
Alternativ dieser Hack in [tt]includes/accesscontrol.inc.php[/tt] (nach Zeiel 14 einfügen):
// check if session is too old
if(isset($_SESSION['modx.session.created.time']) && ($_SESSION['modx.session.created.time']< (time() - 3600))) {
$_SESSION['mgrValidated'] = NULL;
@session_destroy();
unset($_SESSION);
}