Hallo Lo,
Das Session-Handling ist ja im Grunde genommen einfach (session_start() und $_SESSION verwenden), aber der Teufel steckt auch mal wieder im Detail. Es wird nämlich nicht zu jeder Session einzeln gespeichert, wann sie ausläuft, sondern nur der Zeitpunkt der letzten Änderung. Der Garbage Collector läuft auch nur dann, wenn ein PHP-Script anfängt, mit Sessions zu hantieren. Er unterscheidet dabei nicht zwischen (projekt)eigenen Sessions und anderen. Er putzt alles was er in seinem session.save_path findet. Und für die Berechnung des Timeouts hat er nur die Werte zur Vefügung, die für das gerade laufende Script eingestellt sind. Wenn du unterschiedliche Zeitwerte in verschiedenen Projekten verwendest, aber einen gemeinsamen session.save_path, dann räumen dir die von anderen Projekten aufgerufenen Garbage Collectoren deine Sessions früher auf, als du vorgesehen hast. Es ist also sinnvoll, jedem Projekt seinen eigenen session.save_path zu verpassen.
Das ist noch gut zu wissen. Ich hätte jetzt ein zentrales Verzeichnis angegeben. Danke für die Theorie!
Gruß