【发布时间】:2014-08-14 19:58:19
【问题描述】:
我们最近将 PHP SESSION 管理从 memcache 切换到了 Redis。虽然 SESSION 被正确存储,但我们注意到人们现在每 1440 秒注销一次,或者默认值为 session.gc_maxlifetime。但是在我们的 php.ini 文件中,我们设置了以下值:
session.gc_maxlifetime = 86400
session.cookie_lifetime = 86400
我已经通过phpinfo() 确认,只有当我们将保存处理程序设置为session.save_handler = files 时才能正确读取这些值。但是,每当我们将保存处理程序设置为 Redis 时,这些 php.ini 值将被忽略,并使用默认的 PHP 值。我们的 php.ini 中的 Redis 行是:
session.save_handler = redis
session.save_path = tcp://127.0.0.1:6379?auth=noauth
我的想法是,也许我可以将另一个参数传递到 session.save_path URL 来设置密钥的 TTL 值,但是关于哪些参数有效的文档很少。有没有办法让 Redis 从 php.ini 获取正确的 TTL 值?或者在 URL 中传递它的方法?
【问题讨论】: