Свяжите унаследованные приложение с сессиями Symfony
Свяжите унаследованные приложение с сессиями Symfony
Если вы интегрируете комплексный фреймворк Symfony в унаследванное приложение,
которое начинает сессию с session_start()
, то вам всё еще может удасться
использовать управление сессией Symfony, путём использования сессии PHP-моста.
Если приложение имеет свой собственный PHP обработчик сохранений, вы можете
указать нуль для handler_id
:
1 2 3 4
framework:
session:
storage_id: session.storage.php_bridge
handler_id: ~
В обратном случае, если проблема просто в том, что вы не можете избежать
того, чтобы приложение начало сессию с session_start()
, то вы всё ещё
можете использовать обработчик сохранения сессий, основанный на Symfony,
указав обработчик сохранений как указано в примере ниже:
1 2 3 4
framework:
session:
storage_id: session.storage.php_bridge
handler_id: session.handler.native_file
Note
Если унаследованное приложение требует собственный обработчик сохранений,
не переопределяйте его. Вместо этого, установите handler_id: ~
. Отметьте,
что обработчик сохранений не может быть изменён, когда сессия была уже начата.
Если приложение запускает сессию до инициализации Symfony, то обработчик
сохранений будет уже установлен. В таком случае, вам понадобится handler_id: ~
.
Переопределяйте обработчик сохранений только в том случае, если вы уверены,
что унаследованное приложение может использовать обработчик сохранений Symfony
без каких-либо побочных эффектов, и в том, что сессия не была начата до того, как
была инциализирована Symfony.
Чтобы узнать больше, смотрите Интеграция с унаследованными сессиями.