2009-03-02 122 views
4

我想在我的Zend框架應用程序中實現Flash上​​傳器,但我遇到了會話問題。zend框架失去會話

Flash不發送任何cookie標頭,這就是會話丟失的原因。我試圖發送sessionId作爲post param,並在我的引導文件中添加了session_id($ _ POST ['session_id]),但這個doenst似乎工作。

我使用的是MySQL表爲會話存儲

我tryed調試錯誤,據我看到的,SESSION_ID設置,存儲從數據庫返回corect數據,但它不似乎在$ _SESSION全局中正確設置。

即使是陌生人,它似乎可以在我的Windows計算機上工作,但不能在Linux登臺服務器上工作。

回答

4

你知道,如果你使用了Suhosin與PHP安裝?

我聽說Suhosin的few reports這樣做會話,在這種情況下解決方案是在php.ini中禁用suhosin.session.cryptua

無論如何,如果這不是你的問題,只是要確定的基本知識:

  1. 確保你通過session_id()從您的Flash後,例如,與SWF Upload,這是通過將完成它在配置數組的值post_params中。
  2. 確保您session_start()

之前調用session_id($_POST['session_id])但無論如何,如果你說它能不能在你的Windows環境下,它可能與你的PHP安裝。

+0

謝謝你這是問題 – 2009-03-05 14:59:27

0

嘗試在你的控制器動作如下:

session_write_close(); 
session_id($this->_getParam('PHPSESSID')); 
session_start();