From 0f4225d888026de7955957d20eb6e34aec9c0a69 Mon Sep 17 00:00:00 2001 From: mark_story Date: Fri, 19 Jan 2018 13:39:51 -0500 Subject: [PATCH] Unset the save_handler for PHP7.2 Forward port changes from #11619 and fix #11628 --- src/Network/Session.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Network/Session.php b/src/Network/Session.php index b4e672f37b1..b2c55d434a8 100644 --- a/src/Network/Session.php +++ b/src/Network/Session.php @@ -108,12 +108,16 @@ public static function create($sessionConfig = []) $sessionConfig['ini']['session.name'] = $sessionConfig['cookie']; } - // In PHP7.1.0+ session.save_handler can't be set to user by the user. - // https://github.com/php/php-src/blob/master/ext/session/session.c#L559 - if (!empty($sessionConfig['handler']) && version_compare(PHP_VERSION, '7.1.0', '<=')) { + if (!empty($sessionConfig['handler'])) { $sessionConfig['ini']['session.save_handler'] = 'user'; } + // In PHP7.2.0+ session.save_handler can't be set to user by the user. + // https://github.com/php/php-src/commit/a93a51c3bf4ea1638ce0adc4a899cb93531b9f0d + if (version_compare(PHP_VERSION, '7.2.0', '>=')) { + unset($sessionConfig['ini']['session.save_handler']); + } + if (!isset($sessionConfig['ini']['session.cookie_httponly']) && ini_get('session.cookie_httponly') != 1) { $sessionConfig['ini']['session.cookie_httponly'] = 1; }