Skip to content

Commit d8ef0a8

Browse files
committed
fix php 8.4: ini_set(): session.sid_length INI setting is deprecated
1 parent 99a9e89 commit d8ef0a8

1 file changed

Lines changed: 6 additions & 5 deletions

File tree

system/libraries/Session/Session.php

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -416,16 +416,17 @@ protected function _configure_sid_length()
416416
$bits_per_character = (int) ini_get('session.hash_bits_per_character');
417417
$sid_length = (int) ceil($bits / $bits_per_character);
418418
}
419-
else
420-
{
419+
elseif (PHP_VERSION_ID < 80400) {
421420
$bits_per_character = (int) ini_get('session.sid_bits_per_character');
422-
$sid_length = (int) ini_get('session.sid_length');
423-
if (($bits = $sid_length * $bits_per_character) < 160)
424-
{
421+
$sid_length = (int) ini_get('session.sid_length');
422+
if (($bits = $sid_length * $bits_per_character) < 160) {
425423
// Add as many more characters as necessary to reach at least 160 bits
426424
$sid_length += (int) ceil((160 % $bits) / $bits_per_character);
427425
ini_set('session.sid_length', $sid_length);
428426
}
427+
} else {
428+
$bits_per_character = 4;
429+
$sid_length = 32;
429430
}
430431

431432
// Yes, 4,5,6 are the only known possible values as of 2016-10-27

0 commit comments

Comments
 (0)