Extra Form
PHP PHP 7.4
CMS Rhymix 2.x

안녕하세요? 

관리자 모드에서 사이트 제작/편집을 클릭하면 아래와 같은 에러가 뜹니다.

Fatal error: Cannot make static method boardModel::getListConfig() non static in class xboardModel in /volume1/web/orocksil.com/modules/xboard/xboard.model.php on line 19

 

그리고 관리자 모드에 접속시에

AJAX communication error while requesting menu.getMenuAdminInstalledMenuType

200 parsererror (parsererror)
 

Fatal error: Cannot make static method boardModel::getListConfig() non static in class xboardModel in /volume1/web/orocksil.com/modules/xboard/xboard.model.php on line 19

 

이런 메시지가 뜨는데요. 

어디를 수정하면 되는지 여쭤볼께요.

 

  • profile

    사이트 접속조차 안되네요.
    Error #0 "Class 'Object' not found" in modules/couponmanagement/couponmanagement.controller.php on line 16

    couponmanagement 모듈에 Object 함수가 사용되었나보네요.
    일단 Object 검색하셔서 모두 고치셔야 할 것 같구요. (php 7.2 부터 문제가 되는 부분입니다.)

    그 다음 질문하신 부분은..
    xboard 는 뭐하는 모듈인가요???

  • profile profile
    xboard는 확장 게시판입니다. Object 함수를 한꺼번에 변경해주는 건 없을까요?
  • profile profile
    php는 다시 7.0으로 변경했습니다.
  • profile profile
    xboard는 확장 게시판입니다.
    --> 이게 뭐하는 물건이냐는 질문을 드린 겁니다. 해당 모듈 사용을 중단해 보시구요.

    특정 단어를 한꺼번에 변경하는 기능은 사용하는 에디터에 있을 수 있으니 에디터 를 잘 살펴보시구요. 무조건 한꺼번에 변경한다면 바꾸지 않아야 할 곳이 바뀔 수도 있으니 확인해 가면서 바꾸시는거 추천드립니다.
  • profile profile
    아. 네 알겠습니다. 에러 문구 보면서 한번 만져보겠습니다.
  • profile profile
    에러 문구를 보면서 하라고 말씀 드린거는 아니구요.
    에디터에서 Object 를 검색하셔서 검색되어진 라인에 바꾸어야 할 부분이 맞으면 변경 이런식으로 진행하라고 말씀 드린 것입니다.

    에디터에서 변경하는 기능을 이용하시면 됩니다.
  • profile profile
    php 7.0으로 돌아가는건 올바른 선택은 아니신 것 같습니다. 최신 8.0은 무리가 있더라도 라이믹스 최소 버전이 곧 7.2로 변경될 것이고 하니 7.4를 유지하시는 것이 좋습니다.

    잘못된 자료들 때문에 오래된 버전을 사용하는 것을 선택하시는 것은 악수를 두시는 것 입니다.
  • profile profile
    ParseError #0 "syntax error, unexpected 'require_once' (T_REQUIRE_ONCE)" in modules/xboard/xboard.model.php on line 8
    common/framework/debug.php:681

    확장게시판 중단할려구 하는데 이런 에러가 뜨는군요. 아예 지워야 될까요?
  • profile profile
    아 넵 알겠습니다. 7.4에서 Object 함수를 수정해보겠습니다.
  • profile profile
    모듈이 계속 문제를 일으킨 다면 삭제를 해야겠죠.
  • profile
    위의 본문에 잇는 오류는

    boardModel::getListConfig()

    이라는 코드가 들어가 있는 것 같은데 해당 코드를 사용하기 위해서는 해당 코드가 있는 함수자체를 static 필드여야 정상적으로 사용할 수 있다는 뜻입니다.

    자세한건 코드내용을 몰라서 어떤지 모르겠지만, 해당 모듈을 꼭 고쳐서 사용해야하는 상황이라면 의뢰를 통해서 고치는 방법이 필요할 것 같네요 ㅠ
  • profile

    오래 전에 xboard라는 게시판 확장모듈이 있었습니다. 오래 전에 업데이트가 중단된 모듈이라 아마 최근 PHP 버전에서는 작동이 안 될 거예요. 에러 메시지를 보면 Object → BaseObject 변환 문제뿐 아니라 함수 선언 자체가 잘못되었거나 하는 부분도 많은 것 같습니다.

  • profile
    Errors (6)
    01. Warning: Creating default object from empty value
    modules/menunew/menunew.model.php:21
    modules/menunew/menunew.controller.php:175
    files/cache/menu/132.php:490
    classes/module/ModuleHandler.class.php:1134
    index.php:52
    02. Warning: Creating default object from empty value
    modules/menunew/menunew.model.php:21
    modules/menunew/menunew.controller.php:175
    files/cache/menu/64.php:1170
    classes/module/ModuleHandler.class.php:1134
    index.php:52
    03. Warning: Creating default object from empty value
    modules/menunew/menunew.model.php:21
    modules/menunew/menunew.controller.php:175
    files/cache/menu/132.php:490
    classes/module/ModuleHandler.class.php:1134
    index.php:52
    04. Warning: Creating default object from empty value
    modules/menunew/menunew.model.php:21
    modules/menunew/menunew.controller.php:175
    files/cache/menu/64.php:1170
    classes/module/ModuleHandler.class.php:1134
    index.php:52
    05. Warning: Use of undefined constant Mobile - assumed 'Mobile' (this will throw an Error in a future version of PHP)
    modules/board/skins/sketchbook5/__setting.html:151
    classes/template/TemplateHandler.class.php:415
    classes/template/TemplateHandler.class.php:183
    modules/board/skins/sketchbook5/list.html:2
    classes/template/TemplateHandler.class.php:415
    classes/template/TemplateHandler.class.php:183
    classes/display/HTMLDisplayHandler.php:97
    classes/display/DisplayHandler.class.php:82
    classes/module/ModuleHandler.class.php:1183
    index.php:52
    06. Warning: Use of undefined constant retrun - assumed 'retrun' (this will throw an Error in a future version of PHP)
    addons/board_subscription/board_subscription.addon.php:7
    files/cache/addons/pc.php:541
    classes/display/DisplayHandler.class.php:92
    classes/module/ModuleHandler.class.php:1183
    index.php:52


    디버그를 보니 이렇게 나오는데요.
    Creating default object from empty value
    함수가 없다는 것 같은데 해당 라인에 가보니 Object() 함수가 없더라구요.
    이런 경우는 어떻게 해야 하나요?
  • profile profile

    디버그에 나오는 Warning은 Fatal error가 아닙니다.
    코드 퀄리티가 별로라는 뜻이니 언젠가 개선하면 좋겠지만,
    당장 실행이 되지 않는 원인과는 무관할 겁니다.

  • profile profile
    아 넵 알겠습니다. 차차 개선하라는 의미이군요.. 감사합니다.
  • profile profile

    참고로 1~4는 $args = new stdClass(); 이런 식으로 오브젝트를 미리 만들지 않고 $args->aaa = bbb; 이렇게 오브젝트 속성에 접근하려고 할 경우 발생하는 워닝이고, 5~6은 문자열에 '따옴표'가 누락되었을 때 발생하는 워닝입니다. 오래된 모듈이나 스킨에서 흔히 볼 수 있는 실수입니다.

  • profile profile
    사이트 자체에 문제가 있는것은 아니죠? 나중에 차차 개선하면 되겠네요. 알려주신 내용 참조하겠습니다.
  • profile profile

    PHP8 에서 문제가 발생한다고 보시면 됩니다. 미리 알려주는 것이구요.
    직접 고치시기에는 무리가 있을 수도 있습니다.

    $args = new stdClass(); 이렇게 초기화 하는 코드가 들어가야 하는 이유를 먼저 이해하셔야 하구요.

    $args 에 담기지 않은 경우도 많아서 다양하게 누락되는 부분이 많습니다. 기존에 배포된 자료들이요.

    '문자열' 이건 좀 쉽게 고치실 수 있습니다. 이전 php는 '' 를 누락해도 넘어가주었지만 다음 php 버전에서는 눈감아주지 않겠다고 알려주는 것입니다.

    php8에서 탈락되는 자료들이 많을 겁니다.
    사용하시는 게시판 스킨등에서도 광범위하게 문제가 발견될 수도 있습니다.

  • profile profile
    네 알겠습니다. 나스로 이전을 하면서 여러가지로 많은 문제점이 발견되는군요. 현재 서브페이지도 정상으로 로딩이 안되고 있는데 지금 머리아파 죽겠습니다. ㅎ