4

我试图找到 Symfony 设置 cookie 的位置。当我访问我的网站时(我正在使用 sfDoctrineGuard 插件),我得到了登录页面,这是预期的行为。查看已创建的 cookie 时,有一个 'symfony' cookie。我找不到 Symfony 设置此 cookie 的位置...我需要更改过期时间。

我看到使用 setCookie 的唯一地方是“记住我”键,但这完全是一个单独的 cookie。

另一个问题是,出于某种原因,“symfony”cookie 的到期时间在 Safari 中显示为“会话”,而不是日期/时间。

我很确定这与 sfDoctrineGuard 无关,而且 Symfony 总是在用户访问该站点时创建一个 cookie,只需要找到设置此 cookie 的代码。

有任何想法吗?

4

2 回答 2

4

您可以在factories.yml

storage:
  class: sfSessionStorage
  param:
    session_name: symfony
    session_cookie_lifetime: 60000 # number of seconds

文档在这里

于 2013-01-17T14:36:40.400 回答
2

在你的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)
于 2013-01-17T19:05:38.707 回答