【问题标题】:Session Management (Zend Framework specific)会话管理(Zend 框架特定)
【发布时间】:2009-10-27 20:39:03
【问题描述】:

我正在尝试使用 rememberMe() 函数来记住用户并一次保留会话数月。

我读到如果你通过 rememberMe() 传递一个值,如果会话已经开始,它将不起作用。从 PHP 手册中的 session_set_cookie_params() 文档中,“您需要为每个请求调用 session_set_cookie_params() 并且在调用 session_start() 之前。”

按照我的想法,我在引导程序中调用 Zend_session::start()。我的问题是 rememberMe() 似乎不起作用。

当我调用 session_get_cookie_params(); 我得到:

Array([lifetime] => 0 [path] => / [domain] => [secure] => httponly] =>)

有什么想法吗?

【问题讨论】:

    标签: zend-framework session remember-me


    【解决方案1】:

    我已经解决了这个问题。会话被同一服务器上的另一个网站删除,会话每 24 分钟到期一次。为了解决这个问题,我将 session.save_path 设置为一个新文件夹。我还将 session.gc_maxlifetime 和 session.cookie_lifetime 设置为非常大的数字。

    问题解决了!

    【讨论】:

      【解决方案2】:

      不要使用 start() 方法。如果您使用 MVC,它应该可以正常工作。 session_start 必须在发送任何输出之前调用,并且在发送响应之前(因为输出缓冲)。会话在第一次使用 Zend_Session_namespace 时自动启动。

      【讨论】:

        猜你喜欢
        • 2014-05-13
        • 1970-01-01
        • 1970-01-01
        • 2011-05-26
        • 2011-05-26
        • 1970-01-01
        • 1970-01-01
        • 2010-12-02
        • 2017-04-24
        相关资源
        最近更新 更多