Symfony 1.4 cookie issue


Symfony 1.4 cookie issue

我试图找到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)