Rafael: Wodurch Prozess starten ?

Beitrag lesen

Du könntest einen Cronjob starten, der sich alle paar Minuten das Verzeichnis in dem die Session gespeichert wird ansieht. (Konfiguration in der php.ini mittels "session.save_path")

Dort werden die Sessioninformationen der einzelnen Nutzer serialisiert gespeichert und im Fall einer zerstörten Session wieder herausgenommen.
Dein Programm puffert nun diese Informationen und sobald eines davon automatisch verschwindet, ohne dass sie zerstört wurde verschickt das Programm die von dir gewünschte Email.
(Diese durch ausloggen zerstörten Session-IDs musst du deinem Programm natürlich vorher mitteilen, sonst weiß es nicht welche Dateien automatisch verschwinden. Und Achtung: Das Setzen eines Session-Wertes wie $_SESSION['login']=false zerstört die Session nicht, sie modifiziert sie nur.)

Je kürzer du die Rythmen für das Auslesen des Verzeichnisses allerdings setzt, desto rechenintensiver wird deine Anwendung.
(Am besten nimmst du für den Rythmus "session.gc_maxlifetime" [bzw. gibt es ein minlifetime?] abzüglich eines kleinen Sicherheitsabstandes, den dein Programm für das Auslesen des Verzeichnisses benötigt.)
Fraglich ist auch, ob du alle Sessioninformationen speicherst (Dein Session-Verzeichnis also spiegelst) oder ob du dir nur die Dateien selbst merkst (Name in der Regel sess_[SESSION-ID]) + deiner Cron-Anwendung zusätzlich beim Login auch die für sie relevaten Informationen mitteilst.

Sobald dein Programm also feststellt, dass eine geloggte Session zerstört wurde (Also die Datei sess_[Geloggte Session-ID] nicht mehr existiert) ohne dass dieses zerstören explizit beim Ausloggen genehmigt wurde, muss dein Cron diese Routinen selbst nachholen.

Hoffe die Idee ist nachvollziehbar und bringt dich weiter.
Grüße.