在 framework.yaml 文件中为会话设置了以下设置:
session:
handler_id: session.handler.native_file
save_path: '%kernel.project_dir%/var/sessions/%kernel.environment%'
name: 'prod112'
cookie_secure: auto
cookie_samesite: lax
cookie_lifetime: 2592000
尽管生命周期是 1 个月,但大约半小时或一小时后它就会被扔出帐户,您必须重新授权。同时,正常写入具有此名称的 cookie 并为其指明适当的句点:
prod112 u0cnla99lbgkaaeop2m870k9k4 192.168.117.39 / 2019-12-18T20:12:35.888Z 33 ✓ ✓ Lax
同时在开发服务器上也有类似的设置:
session:
handler_id: session.handler.native_file
save_path: '%kernel.project_dir%/var/sessions/%kernel.environment%'
name: 'dev'
cookie_secure: auto
cookie_samesite: lax
cookie_lifetime: 2592000
那里没有这样的问题。会话肯定会写入 dev 文件夹,写入 prod,但是在 prod 上,授权会在 30-60 分钟内重置,并且需要您再次登录。如何解决这个问题?
正如尊敬的@noname2019 所说,会话时间由参数设置
gc-maxlifetime
在设置中,您可以简单地为该部分设置此参数,或者如果您的会话存储在文件中(并且它们存储在那里)
session
,您可以直接php.ini
更改参数 。session.gc-maxlifetime