2012-10-03 28 views
2

第三方PHP應用程序將數據存儲在用戶的會話中(使用PHPSESSID的cookie)。在這個應用程序中,$_SESSION變量包含所有這些數據。爲什麼Symfony2中的會話數據爲空以及如何訪問它?

在我的Symfony2應用,同樣$_SESSION只包含一些Symfony的數據(_sf2_attributes_security_secured_area_sf2_flashes等),我不從其他應用程序看到任何其他的數據。

我在控制器中做了$ _SESSION變量的var_dump來檢查這個。使用Symfony Session對象顯示相同的數據。 這兩個應用程序使用相同的域來存儲PHPSESSID cookie。

如何在Symfony應用程序中獲取會話的所有數據?我希望會話在2個應用程序之間共享。

回答

7

我終於解決了這個問題。 Symfony將會話數據存儲在其自己的目錄(app/cache/[environment]/sessions)。因此,解決辦法是設置默認的會話路徑config.yml

framework: 
    session: 
     save_path: ~ 

這將設置默認的路徑返回(例如/var/lib/php5在Linux上)和遺留應用程序會話數據提供給Symfony的應用。

相關問題