Since I started investigating how sessions worked in Omeka, I have noticed that logins, with the "Remember Me" checkbox ticked, only last for 24 minutes and not the default of 2 weeks.
I also noticed in php.ini that the default garbage collection time for a session is... 24 minutes.
So it seems that Omeka or Zend is not overriding this value at all, or correctly. At least in my installation.
I'm using Ubuntu Server 10.04 LTS, Apache2 and PHP5.
Is this a known bug?
Does anyone know if this could be a bug or if it might be my Ubuntu install?
The "Remember Me" checkbox works separately from PHP's session garbage collection.
The cookie set by "Remember Me" will last for 2 weeks. On the other hand, PHP has a chance to delete inactive sessions after
session.gc_maxlifetime. On a normal PHP installation, this garbage collection code has a 1/100 chance of actually running each time a session is created.
Note, PHP counts "inactivity" as the time since you loaded any Omeka page, while the 2 week cookie length is pegged from the time you logged in.
Neither Omeka nor Zend attempts to override the PHP session garbage collection settings, so there's a possibility for infrequently-used sessions to expire early, but it definitely shouldn't happen for every session.