【问题标题】:Symfony 2.1 Session Local Value and Master Value (read on phpinfo)Symfony 2.1 会话本地值和主值(阅读 phpinfo)
【发布时间】:2012-09-19 02:17:48
【问题描述】:

当我开始从 symfony 2.0 迁移到 symfony 2.1 时,我遇到了会话问题。

我正在使用 simplesamlphp 进行身份验证,并且在 symfony 2.0 上一切正常。

在 Symfony 2.1 上是不行的。我在 phpinfo->session 上检查了它们之间的差异,这是我得到的:

                          symfony2.1         symfony 2.0        Master Value
session.save_handler         user              files                files

session.save_path     (..)/symproject/app   (..)/wamp/tmp      (..)/wamp/tmp
                      /cache/dev/sessions

这个值必须等于 php.ini,因为 simplesaml 需要它!

我可以在 config.yml 上设置 framework:session:save_path 属性,但我认为这不是一个好习惯,因为保存路径可能会有所不同,具体取决于我是否在本地开发机器上(我的项目在 git 上)。

关于 save_handler,我找不到在 config.yml 上指定它的方法。我是否坚持使用“用户”?

在这个 symfony 版本中发生了什么?在 symfony 2.0 中这是开箱即用的!请帮忙。没有像样的文档(相信我,我已经看过了!!)。

【问题讨论】:

    标签: php session symfony symfony-2.1 phpinfo


    【解决方案1】:

    我终于明白了!

    Symfony 2.1 默认具有 Native* 驱动程序。这会覆盖 php.ini 上现有的配置。

    如果您想使用 php-ini 配置,您必须将 null 传递给处理程序 arg 的 NativeSessionStorage 构造函数。

    这是通过在 config.yml 上放置以下配置来完成的:

    framework:
        session:
            handler_id: ~
    

    有关此决定的更多信息可以阅读here

    symfony 文档和升级手册中缺少此信息。

    【讨论】:

      猜你喜欢
      • 2011-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多