在服务器端访问会话数据时,其modified_time
已设置,因此将其到期时间延长到将来。
但是,PHPSESSID
cookie不会发生这种情况。虽然服务器端的会话数据到期延长,但cookie过期却没有。如果cookie过期,用户将丢失其会话 - 在发送请求时,他将没有会话ID。
有没有办法告诉Symfony\Component\HttpFoundation\Session\Session
延长Cookie到期日期?
我找到$request->getSession()->getMetadataBag()
并尝试设置stampNew()
,但这似乎与PHPSESSID
Cookie无关。
答案 0 :(得分:3)
您可以更改会话密钥下的config.yml文件,例如:
# session configuration
session:
cookie_lifetime: 3600
来自doc:
cookie_lifetime
type:integer default:null
这决定了会话的生命周期 - 以秒为单位。默认 value - null - 表示session.cookie_lifetime的值 将使用php.ini。将此值设置为0表示cookie为 对浏览器会话的长度有效。
文档here
中的更多信息