2

第三方 PHP 应用程序将数据存储在用户会话中(使用 PHPSESSID 的 cookie)。在这个应用程序中,$_SESSION变量包含所有这些数据。

在我的 Symfony2 应用程序中,$_SESSION它只包含一些 Symfony 数据(_sf2_attributes_security_secured_area_sf2_flashes等),而我没有看到来自其他应用程序的任何其他数据。

var_dump在控制器中做了一个 $_SESSION 变量来检查这一点。使用 Symfony Session 对象显示相同的数据。这两个应用程序使用相同的域来存储 PHPSESSID cookie。

如何在我的 Symfony 应用程序中获取会话的所有数据?我希望在 2 个应用程序之间共享会话。

4

1 回答 1

8

我终于解决了这个问题。Symfony 将其会话数据存储在它自己的目录中(app/cache/[environment]/sessions)。所以解决方案是设置默认会话路径config.yml

framework:
    session:
        save_path: ~

这将设置默认路径(例如/var/lib/php5在 Linux 上),并且遗留应用程序会话数据可用于 Symfony 应用程序。

于 2012-10-03T14:38:15.457 回答