2009-03-02 9 views
4

私はZendフレームワークアプリケーションでFlashアップローダを実装しようとしていますが、セッションに問題があります。zend frameworkがセッションを失う

FlashはCookieヘッダーを送信しないため、セッションが失われています。私はポストparamとしてsessionIdを送信しようとしています。私のbootstrapファイルにsession_id($ _ POST ['session_id])を追加しましたが、このdoenstはうまくいくようです。私は、エラーをデバッグするためにしようと試みたと私の知る限り見るように、SESSION_IDが設定されている

私はセッションストレージとしてMySQLのテーブルを使用していますし、ストレージ、データベースからcorectデータを返しますが、それはしません$ _SESSIONグローバルで正しく設定されているようです。

それは私のWindowsコンピュータでは動作しているようですが、Linuxステージングサーバでは動作していないようです。

答えて

4

あなたのPHPのインストールとSuhosinを使用している場合、あなたは知っていますか?

Suhosinのfew reportsがセッションに参加していると聞いたことがありますが、この場合の解決方法はphp.iniでsuhosin.session.cryptuaを無効にすることです。とにかく

、それはあなたの問題ではない場合は、単に基本にしてくださいする:

  1. あなたのフラッシュからのポストであなたのsession_id()を渡すことを確認し、例えば、SWF Uploadで、これは渡すことによって行われますそれはコンフィギュレーションアレイのpost_params値です。
  2. あなたはsession_start()

session_id($_POST['session_id])を呼び出すしかし、あなたはそれがあなたのWindows環境で動作言っている場合は、とにかく、それはおそらくあなたのPHPのインストールに関連していることを確認します。

+0

は、これはあまりにも私のために働いた問題 –

+0

たことを感謝します。ありがとう。 –

0

は、あなたのコントローラのアクションに次のように試してみてください。

session_write_close(); 
session_id($this->_getParam('PHPSESSID')); 
session_start(); 
関連する問題