为什么Symfony2中的会话数据为空以及如何访问它?

时间:2012-10-03 08:58:22

标签: php session symfony

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

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

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

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

1 个答案:

答案 0 :(得分:8)

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

framework:
    session:
        save_path: ~

这将设置默认路径(例如Linux上的/var/lib/php5),并且旧版应用会话数据可供Symfony应用使用。