Skip to content

Commit

Permalink
Merge pull request #1518 from sudwebdesign/develop-config-sess_regene…
Browse files Browse the repository at this point in the history
…rate_destroy

Fix CodeIgniter creating a lot of session files
  • Loading branch information
alextselegidis committed May 11, 2024
2 parents 9824095 + 8e415fc commit 4c7ca40
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 4 deletions.
2 changes: 1 addition & 1 deletion application/config/config.php
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,7 @@
$config['sess_save_path'] = __DIR__ . '/../../storage/sessions';
$config['sess_match_ip'] = false;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = false;
$config['sess_regenerate_destroy'] = true;

/*
|--------------------------------------------------------------------------
Expand Down
7 changes: 4 additions & 3 deletions system/libraries/Session/Session.php
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ public function __construct(array $params = array())
unset($_COOKIE[$this->_config['cookie_name']]);
}

@session_start();
session_start();

// Is session ID auto-regeneration configured? (ignoring ajax requests)
if ((empty($_SERVER['HTTP_X_REQUESTED_WITH']) OR strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) !== 'xmlhttprequest')
Expand All @@ -137,7 +137,7 @@ public function __construct(array $params = array())
}
elseif ($_SESSION['__ci_last_regenerate'] < (time() - $regenerate_time))
{
$this->sess_regenerate((bool) config_item('sess_regenerate_destroy'));
$this->sess_regenerate();
}
}
// Another work-around ... PHP doesn't seem to send the session cookie
Expand Down Expand Up @@ -691,8 +691,9 @@ public function sess_destroy()
* @param bool $destroy Destroy old session data flag
* @return void
*/
public function sess_regenerate($destroy = FALSE)
public function sess_regenerate($destroy = null)
{
$destroy = boolval($destroy !== null ? $destroy : config_item('sess_regenerate_destroy'));
$_SESSION['__ci_last_regenerate'] = time();
session_regenerate_id($destroy);
}
Expand Down

0 comments on commit 4c7ca40

Please sign in to comment.