第三方PHP应用程序将数据存储在用户的会话中(使用PHPSESSID的cookie)。在此应用中,$_SESSION
变量包含所有这些数据。
在我的Symfony2应用程序中,相同的$_SESSION
只包含一些Symfony数据(_sf2_attributes
,_security_secured_area
,_sf2_flashes
等),我看不到任何其他来自其他应用程序的数据。
我在控制器中执行了var_dump
$ _SESSION变量来检查这一点。使用Symfony Session对象显示相同的数据。
这2个应用程序使用相同的域来存储PHPSESSID cookie。
如何在Symfony应用程序中获取会话的所有数据?我希望在两个应用程序之间共享会话。
答案 0 :(得分:8)
我终于解决了这个问题。
Symfony将其会话数据存储在自己的目录(app/cache/[environment]/sessions
)中。因此,解决方案是在config.yml
中设置默认会话路径:
framework:
session:
save_path: ~
这将设置默认路径(例如Linux上的/var/lib/php5
),并且旧版应用会话数据可供Symfony应用使用。