Set the number of seconds a script is allowed to run. If this is reached,
the script returns a fatal error. The default limit is 30 seconds or, if it
exists, the max_execution_time value defined in the configuration file. If
seconds is set to zero, no time limit is imposed.

php_value session.gc_maxlifetime:

The session.gc_maxlifetime only sets the age of the session files that will be deleted when

garbage collection runs.

If you have a busy web site with a lot of sessions being created, garbage collection will

run based on session.gc_probability/session.gc_divisor. Despite this being called

“probability” I tested this and it is strictly a count. Using the default

gc_probability/gc_divisor of 1/100, this means that garbage collection will run every 100

new sessions (Edit: Actually this occurs within the session_start() coding and would count

re-started sessions as well) and delete any existing session files that are older than the

session.gc_maxlifetime. There is no file locking on the session files, so active session

files will be deleted and things like users getting logged out will occur.

If this is on shared hosting and the session files are all kept in the default location and

someone else is using a smaller session.gc_maxlifetime or a more frequent

gc_probability/gc_divisor, then any of the session files will get deleted based on the

lowest value of gc_maxlifetime and the most frequent gc_probability/gc_divisor.

You need to increase session.gc_maxlifetime or make session.gc_divisor larger and if this is

on shared hosting, set session.save_path to be a location within your web space.