Skip to content

Commit b7b1aef

Browse files
Drakfabpot
Drak
authored andcommitted
[2.3] Handle PHP sessions started outside of Symfony
1 parent 672ce6c commit b7b1aef

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

DependencyInjection/FrameworkExtension.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,7 @@ private function registerSessionConfiguration(array $config, ContainerBuilder $c
318318
if (null == $config['handler_id']) {
319319
// Set the handler class to be null
320320
$container->getDefinition('session.storage.native')->replaceArgument(1, null);
321+
$container->getDefinition('session.storage.php_bridge')->replaceArgument(1, null);
321322
} else {
322323
$container->setAlias('session.handler', $config['handler_id']);
323324
}
@@ -327,6 +328,7 @@ private function registerSessionConfiguration(array $config, ContainerBuilder $c
327328
$this->addClassesToCompile(array(
328329
'Symfony\\Bundle\\FrameworkBundle\\EventListener\\SessionListener',
329330
'Symfony\\Component\\HttpFoundation\\Session\\Storage\\NativeSessionStorage',
331+
'Symfony\\Component\\HttpFoundation\\Session\\Storage\\PhpBridgeSessionStorage',
330332
'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\NativeFileSessionHandler',
331333
'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Proxy\\AbstractProxy',
332334
'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Proxy\\SessionHandlerProxy',

Resources/config/session.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
<parameter key="session.flashbag.class">Symfony\Component\HttpFoundation\Session\Flash\FlashBag</parameter>
1010
<parameter key="session.attribute_bag.class">Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag</parameter>
1111
<parameter key="session.storage.native.class">Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage</parameter>
12+
<parameter key="session.storage.php_bridge.class">Symfony\Component\HttpFoundation\Session\Storage\PhpBridgeSessionStorage</parameter>
1213
<parameter key="session.storage.mock_file.class">Symfony\Component\HttpFoundation\Session\Storage\MockFileSessionStorage</parameter>
1314
<parameter key="session.handler.native_file.class">Symfony\Component\HttpFoundation\Session\Storage\Handler\NativeFileSessionHandler</parameter>
1415
<parameter key="session_listener.class">Symfony\Bundle\FrameworkBundle\EventListener\SessionListener</parameter>
@@ -26,6 +27,10 @@
2627
<argument type="service" id="session.handler" />
2728
</service>
2829

30+
<service id="session.storage.php_bridge" class="%session.storage.php_bridge.class%">
31+
<argument type="service" id="session.handler" />
32+
</service>
33+
2934
<service id="session.flash_bag" class="%session.flashbag.class%" public="false" />
3035

3136
<service id="session.attribute_bag" class="%session.attribute_bag.class%" public="false" />

0 commit comments

Comments
 (0)