ユーザーがログインすると、次のプロセスを持つ Symfony2 アプリケーションがあります。
- ユーザーがログイン情報を入力します
- 詳細はサードパーティ API で認証されます
- ログインの詳細が正しい場合は、API からアプリケーションが必要とするデータベースに大量の情報を同期します
- すべての情報は、Doctrine で設定された関係を介してユーザー オブジェクトに関連付けられます。
問題は、PDOセッションハンドラーがこの情報をセッションに入れるときに、ユーザーオブジェクトとすべての関係を保存しているように見えるため、膨大な量のデータが保存され、Doctrineがそれらを遅延ロードできるため、ほとんどは必要ありません.とりあえず。
データ量が大きすぎてセッションが破損する LONGTEXT であっても、session_value フィールドに収まらない場合があるため、これも問題を引き起こしています。
では、教義エンティティがセッションに入る前に関係データを安全に削除する方法はありますか? __sleep と __wake を使用してみましたが、呼び出されません。