Skip to content

Commit 526c0a7

Browse files
committed
AC-13416:: session_set_save_handler() with more than 2 arguments deprecated in PHP 8.4
1 parent 88660e7 commit 526c0a7

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

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

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,17 @@ function session_set_save_handler()
6767
SessionManagerTest::$isSessionSetSaveHandlerInvoked = true;
6868
return true;
6969
}
70-
return call_user_func_array('\session_set_save_handler', func_get_args());
70+
71+
$args = func_get_args();
72+
73+
if (count($args) === 1 && $args[0] instanceof \SessionHandlerInterface) {
74+
// PHP 8.4+ single argument case
75+
return \session_set_save_handler($args[0], true);
76+
} elseif (count($args) === 2 && $args[0] instanceof \SessionHandlerInterface && is_bool($args[1])) {
77+
// PHP 8.4+ two arguments case
78+
return \session_set_save_handler($args[0], $args[1]);
79+
}
80+
return call_user_func_array('\session_set_save_handler', $args);
7181
}
7282

7383
/**

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

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -258,12 +258,8 @@ private function renewCookie($sid)
258258
protected function registerSaveHandler()
259259
{
260260
return session_set_save_handler(
261-
[$this->saveHandler, 'open'],
262-
[$this->saveHandler, 'close'],
263-
[$this->saveHandler, 'read'],
264-
[$this->saveHandler, 'write'],
265-
[$this->saveHandler, 'destroy'],
266-
[$this->saveHandler, 'gc']
261+
$this->saveHandler,
262+
true
267263
);
268264
}
269265

0 commit comments

Comments
 (0)