#3793 [Com]: session.gc_maxlifetime does not work

From: Date: Wed, 11 Dec 2002 16:13:44 +0000
Subject: #3793 [Com]: session.gc_maxlifetime does not work
References: 1  Groups: php.doc 
Request: Send a blank email to phpdoc+get-969350277@lists.php.net to get a copy of this message
ID: 3793 Comment by: dcolomvakos@arsystemsweb.com Reported By: kori_mail@hotmail.com Status: Closed Bug Type: Documentation problem Operating System: Windows 98 PHP Version: 4 .1.2 New Comment: I experienced this problem with session_destroy() running PHP 4.2.3 on Windows 2000 Server SP3 and IIS 5.0. The issue was indeed FAT vs NTFS, but not just because of the file system, but because I had not given my INET_computername account MODIFY access to the sessiondata directory. This is documented on php.net, however I somehow missed it when I first assigned permissions to the sessiondata directory (I initally put only Read & Execute, List, Write and Read) Previous Comments: ------------------------------------------------------------------------ [2002-10-01 04:08:03] corneliu.galev@cefin.com I did some testing as Mike did ([31 31 Mar 3:49am] bergmann@evisio.de) and I try to see what is the exact value to be set for gc_maxlifetime to work in my sistem. BTW I use win2000+iis5+php4.2.2. I was very surprised to see that value 37000 worked for a period of time but later the minimum was 38000 and so on. So it's something related to sistem time not files(to be considered garbage) In fact garbage control in windows work like this: at gc_maxlifetime seconds from midnight all other session files are deleted - definitly a bug. Corneliu ------------------------------------------------------------------------ [2002-08-16 21:32:13] rasmus@php.net The fact that the filebased session handler needs a filesystem with atime support has now been documented. ------------------------------------------------------------------------ [2002-08-16 21:03:38] rasmus@php.net I really don't see anybody with any interest in writing code to make this work on FAT filesystems. Don't run web servers on crap filesystems. If you do, write your own session handler. Same goes for filesystems where file modification timestamps are ignored. Write your own session handler and manage the garbage collection yourself. We'll need to document this, of course, so marking this as a documentation problem. ------------------------------------------------------------------------ [2002-07-10 05:10:43] jerome.billet@hcuge.ch I've exactly the same problem with Windows 2000, php 4.2.0 and apache 1.3 ------------------------------------------------------------------------ [2002-03-31 03:49:43] bergmann@evisio.de After I tried about a week, by just setting the lifetime VERY high (40000 first), maybe I can give a hint: With this very high value it worked, so I tried where exactly was the critical point. It was somewhat about 32000. Slightly below, all session files were deleted as described, slightly over not. But then the error reoccurred with the same value. After some tries I found out the following: I set back the time on the server one hour and it worked again. Here the times and the critical points: At 9:24 local time : 30290 At 10:28 : 34100 34100-30290=3810, which would be 63.5 minutes when interpretad as seconds, which is the server's time difference... Since 10:28 means 37680 s since 0:00, there seems to be an additional hour - maybe due to GMT setting (+1) I thought, but it was the automatic daylight saving (or is it called summer time???) setting. When turned off, at 9:45 the point was at 35100=9.75 hours... I hope that helps... ;-) -- mike ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/3793 -- Edit this bug report at http://bugs.php.net/?id=3793&edit=1

« previous php.doc (#969350277) next »