Q&A

슈퍼캐시 php 8.3 에러

2024.07.29 05:26
172
0
CMS/프레임워크 Rhymix 2.1
개발 언어 PHP 8.3

안녕하세요.

 

[29-Jul-2024 09:48:29 Etc/GMT-9] PHP Exception: TypeError #0 "Cannot access offset of type array in isset or empty" in modules/supercache/supercache.controller.php on line 138
#0 사이트명사이트명/www/classes/module/ModuleHandler.class.php(1358): SuperCacheController->triggerBeforeGetDocumentList()
#1 사이트명사이트명/www/modules/document/document.model.php(251): ModuleHandler::triggerCall()
#2 사이트명사이트명/www/modules/board/board.view.php(598): DocumentModel::getDocumentList()
#3 사이트명사이트명/www/modules/board/board.view.php(201): BoardView->dispBoardContentList()
#4 사이트명사이트명/www/classes/module/ModuleObject.class.php(767): BoardView->dispBoardContent()
#5 사이트명사이트명/www/classes/module/ModuleHandler.class.php(703): ModuleObject->proc()
#6 사이트명사이트명/www/index.php(60): ModuleHandler->procModule()

 

에러가 발생합니다. 

배열관련 에러인것같은데

슈퍼캐시가 아닌 다른트리거떄문에 발생한게 맞을까요?

톰캣 Lv. 11
시대의 흐름에 뒤떨어지지 않도록 아주 천천히지만 노력하고 있습니다.

댓글 10

  • 2024.07.29 07:23 #1833138

    1. 깃허브에 있는 최신 버전인가요? XE 자료실에 있는 버전은 오래 전에 버려진 물건입니다.

    2. 혹시 통합게시판인가요?

  • 2024.07.29 07:39 #1833143
    <version>1.3.7</version>
    <date>2018-12-19</date>
    이라고 나오네요
    깃허브 버전(1.3.8)으로 덮어씌워보겠습니다.

    2번은 확실치 않습니다.
    하루에 한번씩 로그기록을 보면서 수정중인데 php-fpm 에 쌓인 로그는 방문주소가 뜨질 않더라구요 ㅠ
  • 2024.07.29 07:53 #1833147
    [29-Jul-2024 16:51:03 Etc/GMT-9] PHP Exception: TypeError #0 "Cannot access offset of type array in isset or empty" in modules/supercache/supercache.controller.php on line 144
    #0 //사이트명/www/classes/module/ModuleHandler.class.php(1358): SuperCacheController->triggerBeforeGetDocumentList()
    #1 //사이트명/www/modules/document/document.model.php(251): ModuleHandler::triggerCall()
    #2 //사이트명/www/modules/board/board.view.php(598): DocumentModel::getDocumentList()
    #3 //사이트명/www/modules/board/board.view.php(201): BoardView->dispBoardContentList()
    #4 //사이트명/www/classes/module/ModuleObject.class.php(767): BoardView->dispBoardContent()
    #5 //사이트명/www/classes/module/ModuleHandler.class.php(703): ModuleObject->proc()
    #6 //사이트명/www/index.php(60): ModuleHandler->procModule()


    if (!$obj->module_srl || !isset($config->search_cache_exclude_modules[$obj->module_srl]))
    이번엔 이라인에 에러가 발생합니다.
  • 2024.07.29 08:06 #1833155

    줄번호만 바뀌고 증상은 그대로이군요.
    $obj->module_srl에 모듈 번호가 들어가야 하는데 배열이 넘어온 것 같습니다.
    위젯이나 그 밖의 다른 자료를 거치지 않은 일반적인 게시판 검색에서 배열이 넘어왔다면
    통합게시판에서 검색을 시도했을 가능성이 가장 높고요.

     

    슈퍼캐시 모듈에서도 이런 상황에 대비하여 코드상에 방어는 해둬야겠지만,

    이런 상황에서는 캐싱을 하지 않고 그냥 리턴하는 방향으로 처리될 가능성이 높으니,

    성능상의 혜택은 전혀 볼 수 없게 될 것입니다.

  • 2024.07.29 08:10 #1833161
    어 확인해보니 맞습니다
    통합게시판에서 검색하니깐 슈퍼캐시 에러가 발생하네요.
  • 2024.07.30 12:17 #1833266
    그렇다면 에러를 수정하려면 게시판 검색부분을 고쳐야할까요?
  • 2024.07.30 12:52 #1833271
    어제 제가 깃허브에 업데이트한 버전을 받아보세요.
    XE 공홈 자료실은 망한 지 오래라... 이제는 깃허브를 통해서만 업데이트하고 있습니다.
  • 2024.07.30 12:58 #1833275
    감사합니다. 통합게시판에서 검색기능 아주 잘 작동하네요!!
    근데 $obj->module_srl에 모듈 번호가 들어가야 하는데 배열이 넘어온걸
    근본적으로 해결도 해보고싶은데 이건 게시판 스킨에서 수정하는것이 맞을까요? 꼬리에 꼬리를 무는 질문 항상 죄송할 다름입니다.
  • 2024.07.30 13:38 #1833279
    통합게시판이라면 배열이 넘어오는 것이 정상일 겁니다.
    슈퍼캐시 모듈도 이제 나름 오래된 자료인지라...
    이렇게 라이믹스에 새로 생긴 기능에 대응하지 못하는 부분이 종종 발견되네요.
  • 2024.07.30 14:27 #1833285
    별말씀을요ㅠㅠ 항상 감사드립니다.
    얼른 방문자가 늘어서 슈퍼캐시의 진가를 발휘하는 날을 꿈꾸고 있습니다.