Q&A

시험 모듈 문항 수정 시 오류 발생

2025.02.20 10:03
148
0
CMS/프레임워크 Rhymix 2.1
개발 언어 PHP 8.3
문제 페이지 주소 비공개 (작성 후 5일 경과)

시험 모듈(https://github.com/YJSoft/rx-module-exam)을 사용하고 있습니다. PHP 8.x다 보니 여러 오류들은 코드 줄 수를 보면서 수정했습니다. '관리 -> 시험 편집'에서 특정 문항을 수정/삭제 시 다음과 같이 오류가 발생합니다:

 

대상을 찾을 수 없습니다.

modules/exam/exam.view.php:417

 

(630094D9-C398-4348-A65B-EAE5471E2CC7).png

 

혹시 몰라 exam 폴더를 압축하여 올려드립니다.

 

-----

 

디버그 탭에서 나온 항목들은 다음과 같습니다:

 

General Information

Request: GET

Response: HTML - 5869 bytes

Memory Usage: 1.30MB

Total Time: 0.0221 sec

Query Time: 0.0015 sec (count: 5)

Errors (12)

01. Warning: Undefined property: stdClass::$full_cache

modules/supercache/supercache.controller.php:73

classes/module/ModuleHandler.class.php:1330

classes/module/ModuleHandler.class.php:109

index.php:59

02. Warning: Attempt to read property "is_skin_fix" on null

modules/module/module.model.php:429

modules/module/module.model.php:191

classes/module/ModuleHandler.class.php:755

classes/module/ModuleHandler.class.php:188

index.php:60

03. Warning: Attempt to read property "is_mskin_fix" on null

modules/module/module.model.php:434

modules/module/module.model.php:191

classes/module/ModuleHandler.class.php:755

classes/module/ModuleHandler.class.php:188

index.php:60

04. Warning: Attempt to read property "module_srl" on null

modules/module/module.model.php:513

modules/module/module.model.php:192

classes/module/ModuleHandler.class.php:755

classes/module/ModuleHandler.class.php:188

index.php:60

05. Warning: Undefined property: stdClass::$full_cache

modules/supercache/supercache.controller.php:88

classes/module/ModuleHandler.class.php:1330

classes/module/ModuleHandler.class.php:300

index.php:60

06. Warning: Undefined property: stdClass::$paging_cache

modules/supercache/supercache.controller.php:94

classes/module/ModuleHandler.class.php:1330

classes/module/ModuleHandler.class.php:300

index.php:60

07. Warning: Undefined property: stdClass::$exam_pass_group_list

modules/exam/exam.view.php:27

classes/module/ModuleObject.class.php:233

classes/module/ModuleHandler.class.php:667

index.php:60

08. Warning: Undefined global variable $XE_EXAM_LIST

modules/exam/exam.model.php:62

modules/exam/exam.view.php:408

classes/module/ModuleObject.class.php:775

classes/module/ModuleHandler.class.php:697

index.php:60

09. Warning: Trying to access array offset on null

modules/exam/exam.model.php:62

modules/exam/exam.view.php:408

classes/module/ModuleObject.class.php:775

classes/module/ModuleHandler.class.php:697

index.php:60

10. Warning: Array to string conversion

classes/object/Object.class.php:151

classes/object/Object.class.php:45

modules/exam/exam.model.php:226

modules/exam/exam.view.php:416

classes/module/ModuleObject.class.php:775

classes/module/ModuleHandler.class.php:697

index.php:60

11. Warning: Undefined property: stdClass::$widget_cache

modules/supercache/supercache.controller.php:681

classes/module/ModuleHandler.class.php:1330

classes/module/ModuleHandler.class.php:1001

index.php:60

12. Warning: Undefined property: stdClass::$widget_cache

modules/supercache/supercache.controller.php:711

classes/module/ModuleHandler.class.php:1330

classes/display/DisplayHandler.class.php:70

classes/module/ModuleHandler.class.php:1201

index.php:60

Queries (6)

01. SELECT `modules`.*, `documents`.`is_notice`, `documents`.`status` FROM `rx_modules` AS `modules`, `rx_documents` AS `documents` WHERE `documents`.`document_srl` = ? AND `modules`.`module_srl` = `documents`.`module_srl`

Caller: modules/module/module.model.php:183
(ModuleModel::getModuleInfoByDocumentSrl)

Connection: master

Query ID: module.getModuleInfoByDocument

Query Time: 0.0003 sec

Result: success

02. SELECT * FROM `rx_documents` AS `documents` WHERE `document_srl` = ?

Caller: modules/document/document.item.php:118 (×2)
(DocumentItem->_loadFromDB)

Connection: master

Query ID: document.getDocument

Query Time: 0.0004 sec

Result: success

03. SELECT * FROM `rx_exam` AS `exam` WHERE `document_srl` = ?

Caller: modules/exam/exam.item.php:75
(examItem->_loadFromDB)

Connection: master

Query ID: exam.getExam

Query Time: 0.0003 sec

Result: success

04. SELECT COUNT(*) AS `count` FROM `rx_ncenterlite_notify` AS `ncenterlite_notify` USE INDEX (`idx_member_srl_and_readed`) WHERE `member_srl` = ? AND `readed` = ?

Caller: modules/ncenterlite/ncenterlite.model.php:413
(NcenterliteModel->_getMyNotifyList)

Connection: master

Query ID: ncenterlite.getNotifyList (count)

Query Time: 0.0003 sec

Result: success

05. SELECT * FROM `rx_ncenterlite_notify` AS `ncenterlite_notify` USE INDEX (`idx_member_srl_and_readed`) WHERE `member_srl` = ? AND `readed` = ? ORDER BY `regdate` DESC LIMIT 5

Caller: modules/ncenterlite/ncenterlite.model.php:413
(NcenterliteModel->_getMyNotifyList)

Connection: master

Query ID: ncenterlite.getNotifyList

Query Time: 0.0002 sec

Result: success

 

브라우저 개발자도구 콘솔창에서는 이렇게 뜹니다:

GET https://board.sd-drone.com/index.php?mid=test_exam&document_srl=340&act=dispExamEditMode&mode=write&question_srl=341 403 (Forbidden)

 

테스트용 계정은 다음과 같습니다:

URL: https://board.sd-drone.com/test_exam

아이디: test12

비밀번호: test1234

 

[서버 환경]

라이믹스 버전: 2.1.21

PHP 버전: 8.3.6

하루 Lv. 2

댓글 6

  • 2025.02.20 11:01 #1859922
    exam.question.item.php에서

    function questionItem($question_srl = 0, $columnList = array())



    function __construct($question_srl = 0, $columnList = array())

    로 수정해주세요.
  • 2025.02.20 11:08 #1859934
    감사합니다! 정상적으로 잘 작동됩니다!
  • 2025.02.21 08:53 #1860058
    시험 모듈 잘 되나요? 저도 필요한 기능인데, 예전 윤삼님 개선판 사용했었는데, 언젠가부터 제대로 작동이 안되는 것 같더군요.
  • 2025.02.21 10:15 #1860062
    PHP 7 버전때에는 사용하지 않았었고, 8.3 사용 환경에서 시험 모듈이 필요해서 처음 설치하면 오류가 나더라고요. 이후 오류를 고쳐나가니까 큰 문제는 없습니다.

    exam.tar.gz 파일(게시글 본문 하단)에서 YJSoft님이 답변해 주신 부분만 수정중입니다.
  • 2025.02.21 12:40 #1860079
    그렇군요. 저는 아래와 같은 오류가 나네요.

    TypeError #0 "Argument 1 passed to Rhymix\Modules\Extravar\Models\Value::__construct() must be of the type int, null given, called in /volume1/web/oxythus/modules/exam/exam.model.php on line 26" in modules/extravar/models/Value.php on line 91
    modules/extravar/models/Value.php:91

    아직 php7.4라 한번 시도해봤는데..
  • 2025.02.21 13:29 #1860101
    워낙 오래된 모듈이다 보니 여기저기서 문제가 발생하는 듯 하네요.