php 7.4로 업하고 나니 날아라(숭숭군)님의 모듈에서 서버 에러가 나면서 실행이 되지를 않습니다.

"등업(그룹) 관리 모듈" 과 "파일종합관리 모듈"인데 숭숭군님이 더 이상 관리를 하지 않으신다고 해서 이곳에 질문을 남깁니다.

 

"등업(그룹) 관리 모듈"

https://xetown.com/index.php?mid=point_contents&category=17119&page=2&document_srl=23204

은 람보님이 이어서 관리를 하는데 그것을 설치해 봐도 같은 증상입니다.

Screenshot 2021-04-04 at 11.06.16.jpg

 

"파일종합관리 모듈"은 자료가 내려져 없어졌는데 비슷한 에러 증상입니다.

Screenshot 2021-04-04 at 11.07.51.jpg

두 모듈다 에러 증상이 비숫한 것으로 보입니다.

php7.0에서는 잘 작동했는데 7.4로 바꾸고 에러가 나내요.

  • profile

    함수가 올바르게 작동하려면 arguments가 위의 오류에서는 3개, 아래 오류에서 1개가 필요한데,
    함수를 사용하는 view 단에서 arguments를 누락하고 있는 것 같습니다.

    - 함수를 정의하는 model단에서 인자(들)에 default값을 지정하거나, (그렇게 하면 함수를 호출할 때 값이 누락되어도 default값으로 인식하니까요)
    - view단에서 arguments의 갯수와 형식을 정확하게 지정해서 함수를 사용해야 할 것 같아요.

  • profile ?
    답변 감사합니다.
    모듈에 대한 지식이 부족하여 님의 글을 이해하기가 힘드네요ㅠㅠ
  • ? profile
    어제 모바일이어서 에러 메시지 복붙이 힘들어서 더 자세히 설명을 못드린 것도 있는데요.
    첫 번째 에러메시지 중심으로 접근하면 대강 이런 이야기가 됩니다.

    gradeup.view.php 파일의 66행을 보면, getMemberInfo() 함수가 실행될 겁니다.
    이 함수가 정의된 gradeup.model.php에서는 함수 이름에 붙은 괄호 사이에 변수(arguments)가 3개가 전달되어야 한다고 하고 있어요.
    근데 에러 메시지는 gradeup.view.php 파일 66행의 getMemberInfo() 함수의 괄호 안에 변수가 2개만 전달되고 있다고 경고하고 있는 거죠.
    (덧. 두 번째 에러 메시지는 1개가 전달되어야 하는데 0개가 전달되었다는 이야기일테구요)

    이 문제를 해결하려면
    1. gradeup.view.php에서 함수를 실행할 때 전달할 변수 갯수를 정확하게 맞춰서 전달/실행하든가
    2. gradeup.model.php에서 함수를 정의할 때, 누락되는 변수가 있어도 함수 사용이 가능하게 정의를 하든가
    해야 한다는 이야기입니다.
  • profile profile

    00.png

    60라인 

    $module_config->gradeup_condition[$val->title]['lv'] = $oGradeupModel->getMemberInfo('lv',$logged_info->member_srl);

    92라인

    function getMemberInfo($type,$member_srl,$regdate){

    라인인데 어떻게 고쳐야지 되나요??

    제로보드는 거의 손을 못해봐서여

  • profile profile
    getMemberInfo 메소드로 전달되는 인수가 3개여야 하는데 $oGradeupModel->getMemberInfo('lv',$logged_info->member_srl)에서처럼 2개만 전달되고 있다는 듯합니다.
    92라인 이하를 고쳐야할지, 아니면 60라인에서 인수를 더 전달해야 할지는 상황에 따라 다를 것 같네요.