session_regenerate_id — Update the current session id with a newly generated one
session_regenerate_id() will replace the current session id with a new one, and keep the current session information.
When session.use_trans_sid is enabled, output must be started after session_regenerate_id() call. Otherwise, old session ID is used.
Example
<?php
session_start();
if (isset($_SESSION['destroyed'])
&& $_SESSION['destroyed'] < time() - 300) {
remove_all_authentication_flag_from_active_sessions($_SESSION['userid']);
throw(new DestroyedSessionAccessException);
}
$old_sessionid = session_id();
$_SESSION['destroyed'] = time();
session_regenerate_id();
unset($_SESSION['destroyed']);
$new_sessionid = session_id();
echo "Old Session: $old_sessionid<br />";
echo "New Session: $new_sessionid<br />";
print_r($_SESSION);
?>