2012-06-02 69 views
2

我剛搬到一個新的服務器。symfony 1.4會話沒有跨行動/ sfwebrequest

以前我的應用程序是在nginx上,現在是apache。

現在的問題是,似乎symfony中的會話只是不與新的服務器一起工作。

它在以前的nginx服務器上工作正常,我不確定可能會導致這種情況的服務器設置。

我用普通的php _SESSION測試過,它工作正常。

當我在一個動作中設置一個會話時,我可以在該動作中調用它,但是當我移動到一個新模塊或新頁面(動作)會話結束時。

"symfony/user/sfUser/attributes" ["parameters":protected]=> array(0) { } 

任何人都可以指導我如何解決這個問題?

+1

我會把一些調試語句放入symfony核心來看看問題是。你的'sfUser'子類('sfSecurityUser','sfGuardUser'?)可能使用'sfSessionStorage',除非你配置了另一個會話機制。例如,檢查'initialize'中的初始值,因爲您可能意外地將會話配置爲僅子路徑或非常短的生命週期。 – halfer

回答

0

您應該使用$this->getUser()->setAttribute('var','value');

$this->getUser()->getAttribute('var');

得到它,你可以通過$this->getUser()->getAttributeHolder()->remove('var');

刪除它,你不應該使用$_SESSION直接只用它通過symfony框架 ,給我們的詳細信息關於factories.yml和會話存儲參數