プロジェクト

全般

プロフィール

Bug(バグ) #3391

Shinichi Urabe さんが約11年前に更新

h3. 現象 

 セッションを database に保持する設定とした場合、デフォルトの 本案件ではデフォルトの OpenPNE.yml 設定によって sf_factory_storage として opPDODatabaseSessionStorage が設定される。これによって、 factories.yml の設定を変更することなく、このセッションストレージクラスが使用されることになる。 

 だが、これには、 test 環境でもこのストレージクラスが使用されてしまうという問題がある。 symfony デフォルトの factories.yml においては、 test 環境用の sfSessionTestStorage を使用するような配慮がなされているが、 OpenPNE.yml のデフォルト設定によって無力化してしまう。これによって、 

 * 機能テストの出力の存在をストレージクラスが考慮せず、セッションの開始が拒否される 
 * セッションの継続ができない 

 などといった問題が生じる。 

 h3. 原因 

 バグが発生した原因を記入 

 h3. 修正案 

 解決策としては「sf_factory_storage の設定内容に応じた test 環境用のラッパークラスを作成する」「test 環境では OpenPNE.yml のセッションストレージの上書きを無効にする」のどちらかを選択することになるが、実装の容易さ等を考慮し、後者を選択することが適当と思われる。

戻る