【问题标题】:symfony 1.4 session not carried across actions / sfwebrequestsymfony 1.4 会话未跨操作/ sfwebrequest 进行
【发布时间】:2012-06-02 08:49:41
【问题描述】:

我刚搬到一个新的服务器。

以前我的应用在 nginx 上,现在在 apache 上。

现在的问题是 symfony 中的会话似乎无法在新服务器上工作。

它在以前的 nginx 服务器上运行良好,我不确定哪种服务器设置可能会导致这种情况。

我用普通的 php _SESSION 进行了测试,它工作正常。

当我在操作中设置会话时,我可以在该操作中调用它,但是当我移动到新模块或新页面(操作)时会话消失了。

"symfony/user/sfUser/attributes" ["parameters":protected]=> array(0) { } 

谁能指导我如何解决这个问题?

【问题讨论】:

  • 我会在 symfony 核心中加入一些调试语句以查看问题所在。您的sfUser 子类(sfSecurityUsersfGuardUser?)可能使用sfSessionStorage,除非您配置了其他会话机制。检查initialize 中的初始值,因为您可能不小心将会话配置为仅子路径,或者生命周期非常短。

标签: session symfony1 symfony-1.4


【解决方案1】:

你应该使用$this->getUser()->setAttribute('var','value');

通过$this->getUser()->getAttribute('var');获取它

你可以通过$this->getUser()->getAttributeHolder()->remove('var');删除它

你不应该直接使用$_SESSION,只是通过symfony框架使用它 并为我们提供有关 factory.yml 和会话存储参数的详细信息

【讨论】:

    猜你喜欢
    • 2013-11-29
    • 2012-05-15
    • 2011-12-27
    • 1970-01-01
    • 1970-01-01
    • 2014-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多