Сеансы в CodeIgniter отличаются от нативных сессий PHP. На самом деле, они даже не являются сеансами вообще, так как на самом деле они являются зашифрованными cookie-файлами (вы также можете использовать базу данных для хранения значений сеанса, но все же они не совпадают с php-сессией).
Цитирование из руководства:
Что такое данные сеанса?
A session, as far as CodeIgniter is concerned, is simply an array containing the following information:
The user's unique Session ID (this is a statistically random string with very strong entropy, hashed with MD5 for portability, and regenerated (by default) every five minutes)
The user's IP Address
The user's User Agent data (the first 50 characters of the browser data string)
The "last activity" time stamp.
The above data is stored in a cookie as a serialized array with this prototype: [array] (
'session_id' => random hash,
'ip_address' => 'string - user IP address',
'user_agent' => 'string - user agent data',
'last_activity' => timestamp )
Всякий раз, когда вы загружаете страницу, CI проверяет куки, чтобы увидеть, есть ли там сессия. Если нет (либо потому, что вы не установили его, либо потому, что срок его действия истек), сеанс будет создан. Если он там, вместо этого будет автоматически генерироваться CI
Если вы хотите использовать нативные сеансы CI, то так и есть. В противном случае вы можете использовать нативные php (фреймворк очень гибкий), но вы не можете смешивать их, так как они действуют на разных уровнях (на сервере для php, на клиенте для сеанса CI)