참고
제시된 문제 해결방법 및 수정사항
- $config['sess_cookie_name'] = "ci_session";
underscore(_)를 사용하지 마라 IE9에서는 underscore를 지원하지 않는다.
※ underscore 문제? 설마~ - 서버 타임존을 확인하고 맞춰라
- 새로운 프로젝트에서 CI를 사용할 경우 CI의 session class를 사용하지 마라
- CI session을 사용할 경우 PHP 의 $_SESSION을 사용하는 classs를 대체해서 사용하라
Codeigniter Session IE problem - $config['sess_match_useragent'] = FALSE;
문제해결
$config['sess_cookie_name'] = 'cisession';
$config['sess_match_useragent'] = FALSE;
유저 에이전트 확인을 하지 않게 수정해서 해결했습니다.
유추 할 수 있는 문제내용은
- IE9에서 underscore(_) 미지원 ??????
확인된 내용은 아닙니다. underscore 문제가 아니라 아래 useragent 변경때문일거라고 생각됩니다.
하지만 underscore 생략을 권고하는것으로 보아 저도 underscore를 생략했습니다.
※ IE에서 underscore관련문제 RFC2396 domain name 정의방법에서 도메인은 문자로 시작해야하고, 문자 숫자로 끝나야하며 중간에 대시(-)가 올수 있다. StackOverflow IE cookie 문제
그래서 IE에서 도메인에 underscore가 오면 에러가 난다. - window.open등을 사용하거나 페이지 reload 시 useragent 내용 변경이 발생
IE 의 Browser Mode 변경 기능 때문이 않을까 추측합니다.
* 문제 및 해결
결론은 Browser Mode 변경 기능 적용 일관성 문제.
<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=9"><![endif]-->
를 전체 페이지에 동일하게 적용하거나 적용하지 않아야 합니다.( nothing or all )
그런 후 아래로 설정하면 문제없이 사용할 수 있습니다.
$config['sess_cookie_name'] = 'ci_session';
$config['sess_match_useragent'] = TRUE;
* crossdomain iframe load and window.open 에서 CI session 문제 및 해결
a.com과는 상관없이 b.com 의 세션 유지를 위한 설정
$config['sess_match_useragent']//TRUE;
$config['sess_match_useragent'] = FALSE;
정신건강에 좋다...
Set up
1. <!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=9"><![endif]-->
service page nothing or all
2. or
$config['sess_cookie_name'] = 'cisession';
$config['sess_match_useragent'] = FALSE;
Why IE problem because of the ability to change the Browser Mode is so. Useragent be changed like caused.
반응형
'lang > php' 카테고리의 다른 글
Ubuntu PHP XDebug & Eclipse (0) | 2014.05.04 |
---|---|
RewriteEngind (0) | 2014.01.22 |
window xampp 에서 phpDocumentor2 설치 (0) | 2013.03.25 |
TOAST - Unit Testing for CodeIgniter v. 1.5 (0) | 2013.03.22 |
php mysql handlrsocket (0) | 2013.02.05 |