$config['sess_cookie_name'] = 'ks_session'; $config['sess_expiration'] = 7200; $config['sess_encrypt_cookie'] = FALSE; $config['sess_use_database'] = TRUE; $config['sess_table_name'] = 'dbsessions'; $config['sess_match_ip'] = FALSE; $config['sess_match_useragent'] = TRUE; $config['sess_time_to_update'] = 300;
웅파님, ci세상님 감사합니다.
php설정을 바꿨더니 세션 아이디가 매번 새로 발급되는 문제가 해결된 것 같아요.
(그런데 사실 다시 session.auto_start = 0 으로 해도 정상인거;;;;)
ci세상님의 블로그에서 아래와 같은 내용을 봤는데요. 이게 도대체 왜 생기는 문제인거죠?
ci세션에 문제가 좀 있나요?
-------------------------------------------------------
codeigniter에서는 아래 php.ini 설정에서 세션 오토스타트를 활성화 시켜두는것이 좋은데
이렇게 켜두면 다른 시스템에 영향을 주기 때문에 계정별로 필요할때 설정을 하는것이 좋을것 같다. ~~
php.ini에서
; Initialize session on request startup.
session.auto_start = 1
로 해두고 일반 시스템을 작동시켰을때 ~~ 세션 오류 부분
Notice: A session had already been started - ignoring session_start()
MS의 p3p정책에 일부 영향을 받는것 같습니다. codeigniter는 세션이 아닌 쿠키로 생성이 되면서 IE6 같은데서 프레임 이동시 쿠키가 지워진다는 얘기인데요 ..
세션을 강제로 스타트 시켜서 p3p를 해결하는(? 추정일뿐) ~~ 전 이렇게 이해를 하고 있습니다.^^
<해결방안들중>
1. php.ini에서 session.auto_start = 1
2. .htaccess파일에서 php_flag session.auto_start ON
3. index.php 에서 session_start(); 맨윗줄 추가
4. 특정 컨트롤러에서 ini_set('session.auto_start','1'); 추가
5. p3p 정책에 의거해서
@Header('P3P: CP="NOI CURa ADMa DEVa TAIa OUR DELa BUS IND PHY ONL UNI COM NAV INT DEM PRE"');
와 같이 해결등등
쓰시는 브라우저의 임시인터넷파일(캐시파일)도 삭제하고 접속해보세요.