Recently I ran into problems in all CodeIgniter projects using session library.
session_id is being reset randomly and all session data are lost.
After an hour of tracing I finally found the “bug”:
- FirePHP modified the User Agent string when FireBug enabled
- CodeIgniter destroy the current session due to invalid User Agent
- New session started, old session data lost
To fix the problem just disable
$config['sess_match_useragent'] in config.php,
or disable “Modify User-Agent Header” in FirePHP option (recommended).
P.S. I used to think it’s related to an old CodeIgniter AJAX bug and
$config['sess_time_to_update'], but finally found they are totally irrelevant.