Skip to content

Commit caefb4e

Browse files
committed
MC-38105: Unable to set native session handler that is different from the one define in php.ini
1 parent 776515a commit caefb4e

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

dev/tests/integration/testsuite/Magento/Framework/Session/SessionManagerTest.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -326,11 +326,11 @@ public function testConstructor(string $saveMethod): void
326326
$this->assertArrayHasKey('session.use_only_cookies', self::$isIniSetInvoked);
327327
$this->assertEquals('1', self::$isIniSetInvoked['session.use_only_cookies']);
328328
foreach ($sessionConfig->getOptions() as $option => $value) {
329-
if ($option === 'session.save_handler' && !$value === 'memcached') {
330-
$this->assertArrayNotHasKey('session.save_handler', self::$isIniSetInvoked);
329+
if ($option === 'session.save_handler' && $value !== 'memcached') {
330+
$this->assertArrayNotHasKey('session.save_handler', self::$isIniSetInvoked);
331331
} else {
332-
$this->assertArrayHasKey($option, self::$isIniSetInvoked);
333-
$this->assertEquals($value, self::$isIniSetInvoked[$option]);
332+
$this->assertArrayHasKey($option, self::$isIniSetInvoked);
333+
$this->assertEquals($value, self::$isIniSetInvoked[$option]);
334334
}
335335
}
336336
$this->assertTrue(self::$isSessionSetSaveHandlerInvoked);

lib/internal/Magento/Framework/Session/SessionManager.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -620,8 +620,8 @@ private function initIniOptions()
620620

621621
foreach ($this->sessionConfig->getOptions() as $option => $value) {
622622
// Since PHP 7.2 it is explicitly forbidden to set the module name to "user".
623-
// Need to skip all handlers except memcached. Redis and Db have implements SessionHandlerInterface.
624-
if ($option === 'session.save_handler' && !$value === 'memcached') {
623+
// https://bugs.php.net/bug.php?id=77384
624+
if ($option === 'session.save_handler' && $value !== 'memcached') {
625625
continue;
626626
} else {
627627
$result = ini_set($option, $value);

0 commit comments

Comments
 (0)