Установка Session_id в CodeIgniter

В стандартном PHP я могу установить идентификатор сеанса следующим образом:

$my_session_id = $_GET['session_id']; //gets the session ID successfully session_id($my_session_id); //sets the session with my session_id session_start(); //starts session. 

Как я могу это сделать с CodeIgniter? Я стараюсь:

 $my_session_id = $_GET['session_id']; //gets the session ID successfully $this->session->userdata('session_id', $my_session_id); //it won't set the session with my id. print_r($this->session->userdata); 

Я ошибаюсь? Пожалуйста, помогите мне, поскольку я потратил несколько часов на эту проблему. Если есть какая-то проблема с классом SessionIgniter Session, могу ли я использовать стандартный PHP-код для запуска сеанса? Я попытался поместить стандартный код в CodeIgniter, но он все еще не устанавливает session_id. Я также установил $config['sess_match_useragent'] = FALSE;

Это хак, который я только что предложил по другому вопросу . Поместите это в __construct MY_Session (непроверено и не будет работать с шифрованием)

 public function __construct() { if( isset( $_GET['session_id'] ) ) $_COOKIE[ $this->sess_cookie_name ] = $_GET['session_id']; // Session now looks up $_COOKIE[ 'session_id' ] to get the session_id parent::__construct() } 

Вам не нужно это делать, codeigniter делает все для вас.

Если вы хотите получить идентификатор сеанса, вы можете сделать это, позвонив:

 $session_id = $this->session->userdata('session_id'); 

Однако вы можете обойти это: (Обратите внимание, что этому сообщению 3 года, и я не уверен, если он по-прежнему необходим)

http://mumrah.net/2008/06/codeigniter-session-id/

используйте это для установки session_id в codeigniter:

 $this->session->set_userdata( array('session_id', $your_session_id) ); 

а также

 $session_id = $this->session->userdata('session_id'); 

для его повторного чтения.

Вы должны всегда начинать сеанс перед изменением любых переменных сеанса.

Я считаю, что для начала сеанса CodeIgniter вы можете сделать следующее:

 $this->load->library('session'); $my_session_id = $_GET['session_id']; //gets the session ID successfully $this->session->userdata('session_id', $my_session_id); //it won't set the session with my id. print_r($this->session->userdata);