Mailinglisten-Archive |
php-bounces at phpbar.de <mailto:php-bounces at phpbar.de> wrote: > 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? Siehe Comment im INI File ; Define the probability that the 'garbage collection' process is started ; on every session initialization. ; The probability is calculated by using gc_probability/gc_dividend, ; e.g. 1/100 means 1%. session.gc_probability = 1 session.gc_dividend = 100 d.h. dort wird festgelegt, mit welcher wahrscheinlichkeit die alte Sessiondateien gelöscht werden. Diese Einstellung ist standdardmäßig bei 1%, deshalb sind teilweise alte Dateien da. Das macht man bei Webservern mit vielen Zugriffen so, um einfach Performance zu optimieren. In einer Entwickungsumgebung kannst Du das getrost auf 1/1 setzten oder auf 1/10! BTW: http://de2.php.net/session session.gc_probability integer session.gc_probability wird in Verbindung mit session.gc_divisor dazu verwendet, die Wahrscheinlichkeit zu regeln, mit der die gc (garbage collection) Routine gestartet wird. Grundeinstellung 1. Siehe auch session.gc_divisor. session.gc_divisor integer session.gc_divisor definiert gekoppelt mit session.gc_probability die Wahrscheinlichkeit, mit der die gc (garbage collection) Routine bei jeder Initialisierung einer Session gestartet wird. Die Wahrscheinlichkeit errechnet sich aus gc_probability/gc_divisor. 1/100 bedeutet z.B., dass die GC-Routine bei jeder Anfrage mit einer Wahrscheinlichkeit von 1% gestartet wird. Grundeinstellung 100. > 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? Ich gehe mal davon aus, das die Dateien unter dem Umstand gelöscht werden, wenn genau dieser Pfad gesetzt istund die Wahrscheinlichkeitsberechnung einen Löschvorgang anstößt! Setze einfach die Werte auf 1/1 und probiere es aus ;-) Grüße Dirk +++
php::bar PHP Wiki - Listenarchive