Mailinglisten-Archive |
Hallo,
ich habe eine Verständnisfrage zum Manual:
<zitat>
session.gc_maxlifetime spezifiziert die Anzahl der Sekunden, nach denen
Daten als 'garbage' ('Müll') betrachtet und entsorgt werden.
Anmerkung: Falls Sie die standardmäßige dateibasierte Session-Prozedur
verwenden, muss Ihr Dateisystem die Zugriffszeiten (atime) verfolgen.
Windows FAT tut dies nicht. Sie müssen sich daher einen anderen Weg
einfallen lassen, um die 'Müllentsorgung' Ihrer Session zu erledigen,
wenn Sie an ein FAT-Dateisystem gebunden sind oder an irgendein anderes
Dateisystem, das keine atime-Kontrolle bietet. Seit PHP 4.2.3 wird mtime
(modified date) anstatt atime verwendet. Sie werden also keine Problem
mit Dateisystemen haben, bei denen atime nicht zur Verfügung steht. </zitat>
Das verstehe ich so, dass Versionen > 4.2.3 die Sessiondateien
standardmäßig entsorgen. Tatsächlich finde ich aber im bei mir per
php.ini gesetzten Sessionverzeichnis F:\PHP\sessiondata monatealte
Dateien, obwohl session.gc_maxlifetime 1440 eingestellt ist. Woran
könnte das liegen?
Zusatz-Frage (alle Umgebungen):
In meiner Sessionhandling-Klasse verwende ich folgenden Code:
if (defined('SESSPATH')) {
ini_set('session.save_path', SESSPATH);
}
//Sessionnamen setzen, falls definiert:
if (defined('SESSNAME')) {
session_name(SESSNAME);
}
Kann ich davon ausgehen, dass PHP in der Standardeinstellung auch alte
Sessiondateien entsorgt, die in dem vom Skript aus definierten
Verzeichnis liegen? Oder muss ich die alten Dateien dann selbst löschen?
Viele Grüße
Peter
php::bar PHP Wiki - Listenarchive