You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When setting session.gc_maxlifetime, via ini_set("session.gc_maxlifetime", 86400);, have the TTL on the Redis key match the expiration time configured with the ini_set command.
Actual behaviour
The session.gc_maxlifetime value is not used from the set command, but is instead used from the value configured in php.ini.
I'm seeing this behaviour on
OS: Ubuntu 22.04
Redis: 6.0.16
PHP: 8.1.25
phpredis: 6.0.1
Steps to reproduce, backtrace or example script
I am using phpredis for session management. I am running into an issue with the TTL on the session records. When I log into my application, the code sets the session expiration by the following:
ini_set("session.gc_maxlifetime", $timeout); //value is dynamic, based on user
ini_set("session.cookie_lifetime", $timeout);
session_start();
When I check the session key, in redis, the TTL is set to the session.gc_maxlifetime value configured in the php.ini file, instead of the ini_set value. However, if I query the session value for gc_maxlifetime, the expiration value provided is the correct one set through the ini_set command.
Issue here is, of course, that the session key will delete because it has a TTL of the value configured in the php.ini and that value can be smaller than the value configured through the ini_set command.
How do I get the TTL on the key to match the TTL that is set during login please?
Thanks for your help!
I've checked
[X ] There is no similar issue from other users
The text was updated successfully, but these errors were encountered:
Expected behaviour
When setting session.gc_maxlifetime, via ini_set("session.gc_maxlifetime", 86400);, have the TTL on the Redis key match the expiration time configured with the ini_set command.
Actual behaviour
The session.gc_maxlifetime value is not used from the set command, but is instead used from the value configured in php.ini.
I'm seeing this behaviour on
Steps to reproduce, backtrace or example script
I am using phpredis for session management. I am running into an issue with the TTL on the session records. When I log into my application, the code sets the session expiration by the following:
When I check the session key, in redis, the TTL is set to the session.gc_maxlifetime value configured in the php.ini file, instead of the ini_set value. However, if I query the session value for gc_maxlifetime, the expiration value provided is the correct one set through the ini_set command.
Issue here is, of course, that the session key will delete because it has a TTL of the value configured in the php.ini and that value can be smaller than the value configured through the ini_set command.
How do I get the TTL on the key to match the TTL that is set during login please?
Thanks for your help!
I've checked
The text was updated successfully, but these errors were encountered: