모듈 제작 과정에서 제가 뭔가 잘못 건드렸는지 시스템 설정 > 고급 설정에 들어가려 할 때 다음과 같은 에러가 발생하고 있습니다.
[Fri Feb 19 19:06:40.982896 2021] [proxy_fcgi:error] [pid 3661449:tid 140004978317056] [client 106.240.234.146:6970] AH01071: Got error 'PHP message: PHP Exception: Error #0 "Undefined class constant 'DEFAULT_VIEWPORT'" in modules/admin/tpl/config_advanced.html on line 234\n#0 /var/www/clients/client135/web434/web/classes/template/TemplateHandler.class.php(367): include()\n#1 /var/www/clients/client135/web434/web/classes/template/TemplateHandler.class.php(156): TemplateHandler->_fetch()\n#2 /var/www/clients/client135/web434/web/classes/display/HTMLDisplayHandler.php(87): TemplateHandler->compile()\n#3 /var/www/clients/client135/web434/web/classes/display/DisplayHandler.class.php(82): HTMLDisplayHandler->toDoc()\n#4 /var/www/clients/client135/web434/web/classes/module/ModuleHandler.class.php(1154): DisplayHandler->printContent()\n#5 /var/www/clients/client135/web434/web/index.php(52): ModuleHandler->displayContent()\n', referer: https://dev.aporia.blog/index.php?module=admin&act=dispAdminConfigGeneral
원본 파일에는 modules/admin/tpl/config_advanced.html에 234행이 없어서 캐시의 템플릿 폴더를 뒤져보니
다음과 같은 스크립트가 있는데
function restoreDefaultViewport() {
$('#mobile_viewport').val(<?php echo json_encode(\HTMLDisplayHandler::DEFAULT_VIEWPORT) ?>);
}
이 부분을 삭제하고 캐시 파일을 덮어써보면 접속이 복원됩니다.
하지만 캐시파일 재생성하고 해당 페이지에 다시 접속을 해보면 동일한 에러가 나오네요.
어떤 점을 바로잡는 게 좋을지 조언 좀 부탁드리겠습니다.
Undefined class constant 정의되지 않은 클래스 상수라고 하는데요.
해당 상수는 classes/display/HTMLDisplayHandler.php 15번째 줄 전후에서 정의되어 있습니다.
https://github.com/rhymix/rhymix/blob/master/classes/display/HTMLDisplayHandler.php
분명히 존재하는 상수인데 없다고 한다면
HTMLDisplayHandler.php 파일이 잘못되었을 수도 있으니 확인이 필요합니다.