2

サードパーティの PHP アプリケーションは、(PHPSESSID の Cookie を使用して) ユーザーのセッションにデータを保存します。このアプリでは、$_SESSION変数にこのすべてのデータが含まれています。

私の Symfony2 アプリケーションでは、$_SESSIONいくつかの Symfony データ ( _sf2_attributes_security_secured_area_sf2_flashesなど) のみが含まれており、他のアプリからの他のデータは表示されません。

これvar_dumpを確認するために、コントローラーで $_SESSION 変数を実行しました。Symfony Session オブジェクトを使用すると、同じデータが表示されます。2 つのアプリは、PHPSESSID Cookie の保存に同じドメインを使用します。

Symfony アプリでセッションのすべてのデータを取得するにはどうすればよいですか? 2 つのアプリケーション間でセッションを共有したいと考えています。

4

1 に答える 1

8

私はついに問題を解決しました。symfony はセッション データを独自のディレクトリ ( app/cache/[environment]/sessions) に保存します。したがって、解決策は、デフォルトのセッション パスをconfig.yml次のように設定することです。

framework:
    session:
        save_path: ~

これにより、デフォルト パスが元に戻り ( /var/lib/php5Linux などで)、レガシー アプリのセッション データが Symfony アプリで利用できるようになります。

于 2012-10-03T14:38:15.457 に答える