我试图找到Symfony设置cookie的位置。当我访问我的网站(我使用sfDoctrineGuard插件),我得到登录页面,这是预期的行为。当查看已创建的cookie时,有一个"symfony"cookie。我找不到Symfony在哪里设置这个cookie…我需要更改过期时间。
我看到setCookie被使用的唯一地方是记住我键,但这是一个单独的cookie。
另一个问题是,由于某种原因,"symfony"cookie的过期时间在Safari中显示为"Session",而不是日期/时间。
我很确定这与sfDoctrineGuard无关,并且Symfony总是在用户访问网站时创建一个cookie,只需要找到设置此cookie的代码。
任何想法?
可以在factories.yml
中修改会话超时时间
storage:
class: sfSessionStorage
param:
session_name: symfony
session_cookie_lifetime: 60000 # number of seconds
这里的文档
在您的factories.yml
尝试
all:
storage:
class: sfSessionStorage
param:
session_name: The cookie name (symfony by default)
session_id: The session id (null by default)
auto_start: Whether to start the session (true by default)
session_cookie_lifetime: Cookie lifetime
session_cookie_path: Cookie path
session_cookie_domain: Cookie domain
session_cookie_secure: Cookie secure
session_cookie_httponly: Cookie http only (only for PHP >= 5.2)