아주 가끔.. 이런 오류가 나옵니다.
저는 로그아웃 할때 많이 봤던걸로 기억합니다.
그냥 로그 아웃이 아니고..
외부페이지를 만들어서 로그인 기능을 사용하는 곳이 있는데..
거기서 로그아웃하면 저런 메시지기 가끔 아주 가끔 보이네요..
(일반 로그아웃에서도 나왔을수도 있습니다.. 제 기억으로는 외부페이지에서 많이 본거 같아요.)
브라우저에 표시되는 오류 내용
치명적 오류: 잡히지 않은 오류 : [] 연산자는 /var/www/html/xe/config/func.inc.php:257의 문자열에서 지원되지 않습니다. 스택 추적 : # 0 /var/www/html/xe/config/func.inc. PHP는 (240) : setUserSequence (3103594) # 1 /var/www/html/xe/modules/advanced_mailer/classes/base.class.php(517) : getNextSequence () # 2 / var / www / html / xe / modules /member_expire/member_expire.model.php(127) : Advanced_Mailer \ Base-> send () # 3 /var/www/html/xe/modules/member_expire/member_expire.controller.php(173) : Member_ExpireModel-> sendEmail (2707741) , Object (stdClass), false, false) # 4 /var/www/html/xe/classes/module/ModuleHandler.class.php(1318) : Member_ExpireController-> triggerAutoExpire (Object (stdClass)) # 5 / var / www /html/xe/modules/member/member.controller.php(105) : ModuleHandler :: triggerCall ( 'member.doLogout', 'after', Object (stdClass)) # 6 / var / www / html / xe / modules / 회원 / 회원.php (508) : memberController-> procMemberLogout () # 7 /var/www/html/xe/classes/module/ModuleObject.class.php(443) : memberView-> dispMemberLogout () # 8 / var / www / html / xe / classes / module / ModuleHandler.c/var/www/html/xe/config/func.inc.php on line 257
에러 로그에 보면
2018/08/29 11:26:12 [error] 1008#1008: *5747304 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Error: [] operator not supported for strings in /var/www/html/xe/config/func.inc.php:257
Stack trace:
#0 /var/www/html/xe/config/func.inc.php(240): setUserSequence(3103594)
#1 /var/www/html/xe/modules/advanced_mailer/classes/base.class.php(517): getNextSequence()
#2 /var/www/html/xe/modules/member_expire/member_expire.model.php(127): Advanced_Mailer\Base->send()
#3 /var/www/html/xe/modules/member_expire/member_expire.controller.php(173): Member_ExpireModel->sendEmail(2707741, Object(stdClass), false, false)
#4 /var/www/html/xe/classes/module/ModuleHandler.class.php(1318): Member_ExpireController->triggerAutoExpire(Object(stdClass))
#5 /var/www/html/xe/modules/member/member.controller.php(105): ModuleHandler::triggerCall('member.doLogout', 'after', Object(stdClass))
#6 /var/www/html/xe/modules/member/member.view.php(508): memberController->procMemberLogout()
#7 /var/www/html/xe/classes/module/ModuleObject.class.php(443): memberView->dispMemberLogout()
이렇게 표시 됩니다.
둘다 같은 내용이지만... 로그내용이 보기 편하실꺼 같아서요 ㅎㅎㅎ
조언 부탁 드립니다.
ps : 오리지널 xe 1.9.8 php 7.1, nginx, mysql 5.6 입니다.
댓글 11
로그아웃 의 트리거에 작업해 놓은신분이 생각납니다. 휴면계정정리모듈이 이용자의 불편을 느끼지 못하는 액션 로그아웃에 휴면계정에 필요한 작업(메일발송등)을 작동하도록 해 놓으셨습니다.
이부분이 어쩌면 관련이 있을지도요.
휴면계정정리모듈,고급메일발송모듈 등이 동작하겠네요.
XE의 버그입니다. config/func.inc.php 253줄에서
if(isset($_SESSION['seq']))
이것을
if(isset($_SESSION['seq']) && is_array($_SESSION['seq']))
이렇게 바꿔주세요.
어딘가에서 $_SESSION['seq']에 배열이 아닌 값을 넣어서 오류를 유발하고 있는 것 같습니다만,
휴면계정 정리 모듈이나 고급 메일 발송 모듈은 아닐 겁니다 ㅎㅎ
감사합니다.
우연인가 싶어서....
수정전 코드로 다시 고쳐놓고 로그인 로그아웃 2회 하는데 오류를 뿜네요..
다시 수정해주신 코드로 해놓고 좀더 지켜보겠습니다.
감사합니다.
xe 코어 업데이트 하면 다시 수정해서 써야 하는거죠? ㅠ.ㅠ
언제 날잡아서 깃헙 도전해 본다는데.. 몇년째 이러고 있네요 ㅎㅎㅎ
아주 무책임하죠...ㅠ.ㅠ
NEW ISSUE 이정도는 하실줄 아시잖아요 ㅋ
말씀 하신것 처럼 할줄 아는게 맞네요 ㅋㅋ
뭔 조직 이름을 넣으래서..(번역기로 돌렸네요) 조직 이름을 잘못넣은거 같기도 하고 ㅋㅋ
링크 주신 xe-core 이슈에 정상적으로 등록된거 간습니다.
용기 주셔서 감사합니다.