가 분명히 나는 Symfony2 세션에 저장할 때마다 키가 하위 키 아래에 간다 _sf2_attributes 레거시 코드와 상호 작용합니다. Symfony의 세션 핸들러를 사용하고 싶지만 앱의 오래된 부분을 $_SESSION
에서 읽을 수 있기를 바랍니다. 즉, 나는 같은 효과가심포니 세션을 피하기는
$session->set('foo', 'bar');
및
$_SESSION['foo'] = 'bar';
를 원한다.
나는 이것을 달성하기 위해 어떤 configuration option을 보지 못했습니다. 내가 설정 한 특정 세션 핸들러를 사용합니다.
session:
handler_id: my_app.session_handler
그래서 Symfony가 다른 세션 이름을 사용하는 것은 문제가되지 않습니다. 내가 생각할 수있는 유일한 해결책은 응용 프로그램이 _sf2_attributes
에 액세스하려고하는지 확인하는 내 고객 세션 처리기 (my_app.session_handler
)를 중심으로 새로운 세션 처리기 클래스를 만드는 것이지만 매우 추악하다고 생각하며 제대로 작동하는지 확신 할 수 없습니다.
감사합니다.
고맙습니다. 이 옵션을 선택했지만 이것이 내가 할 수있는 최선이라고 확신하지 못합니다. 이제는 Session API에 대해 잘 알고 있지만 전체 시스템이 변수 참조로 작동하기 때문에 원하는 것을 성취하기가 매우 어려워 보입니다. – gphilip
마침내 이것과 함께 올랐습니다 : https://gist.github.com/tcz/9756112 지옥과 같이 추악하지만 작동합니다. 나는 세션 설정에서'storage_id' 키를 사용하는데 이것은 잘 설명되어 있지 않습니다. 감사! – gphilip
비슷한 문제가 있지만 이번에는 Memcached를 가지고 있는데, 설정 파일에 handler_id : session.handler.memcached가 있습니다. 서비스에 정의되어있는 하지만 세션은 $ session->을 사용하여 memcached 서버에 저장되지 않습니다. set ('foo', 'bar'); 어떤 도움이 필요합니까? – Sekai