2009-07-05 23 views
0

私はZend Frameworkで動くWebサイトを実行しています。セッションに重大な問題があるようです。私はステップの間にセッションのフォームデータを保存し、最後のステップでデータベースに保存する5ステップのプロセスがあります。IE8でのZendセッションの問題

私たちがサイトを構築したときに、セッションがただちに終了し、私たちを再起動させました。今度は再び動作するようですが、最近Internet Explorer 8で問題が発見されました。ステップ2 - > 3で失敗し、セッションを忘れてしまいます。 IE6、IE7、FF、Chrome、Safari、さらにはモバイルウェブブラウザ(SE P1)でもうまく動作します。

私たちはセッションをデータベースに保存しています。私がセッションデータベースハンドラを無効にすると、それが動作します。データベースの使用とセッションでの使用の違いは何ですか?私が元に戻ったら、何かが緩んでいますか?

ブートストラップ:

/* Start session */ 
$saveHandler = new Zend_Session_SaveHandler_DbTable(array(
    'name'   => 'sessions', 
    'primary'  => 'id', 
    'modifiedColumn' => 'modified', 
    'dataColumn'  => 'data', 
    'lifetimeColumn' => 'lifetime' 
)); 
Zend_Session::rememberMe((int) $config->session->lifetime); 
$saveHandler->setLifetime((int) $config->session->lifetime) 
    ->setOverrideLifetime(true); 
Zend_Session::setSaveHandler($saveHandler); 
Zend_Session::start(); 

と私のステップコントローラ

$session = new Zend_Session_Namespace('wizard');

に続いて、私はちょうど$セッションではstdClassで$セッションセーブデータで働いています。

+0

あなたはいくつかのコードを提供していただけますか? –

+0

いくつかのコード例で私の質問を更新しました – Emil

答えて

0

セッションはどのように保存されていますか?これはZend_Formの多段階で起こっているのでしょうか?

私の推測では、ステップ間のデータが大きくなり過ぎてセッションストレージ戦略に格納されていないようです。

+0

私はstdClassを使って自分でそれを保存しています。 何が大きすぎますか、セッションにどれくらい保存できますか? – Emil

+0

私のセッションには約1kbのデータが含まれています。 – Emil

1

この問題を解決するために、このヘッダを追加します。

header('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"'); 
+0

ヘッダーの内容を説明できますか? – Emil

+0

これは私の問題を修正しましたが、私は本当に説明を感謝します。 –

+0

はあなたの(遅い)手がかりです。 http://www.w3.org/TR/P3P11/#oho_cp –