XE Profiler 모듈에서 트리거 설정이 제대로 작동하지 않는데 소스코드를 봐도 이해가 안됩니다.
CMS/프레임워크 | XE 1.x |
---|---|
개발 언어 | PHP 7.2 |
XE Profiler 모듈을 설치해서 어드민 페이지 > 모듈 > Profiler > 트리거 메뉴에 들어갔으나 위 와 같은 오류가 발생합니다.
특정 메소드에 인자값을 두개 넘겨줘야 하지만, 인자로 넘어오지 않아서 발생하는 오류인데요,
문제는 이게 애초에 최초로 릴리즈된 소스코드를 뜯어보아도 "getTriggers"메소드에 인자로 넘겨주는 변수가 없다는겁니다.
최신 코어에서 발생되는 이슈인지 찾아보기 위해 1.7.8 버젼까지 내려가봤지만 그 때 당시 코어에서도 "두개의 인자"를 넘겨줘야하더라구요.
문제가 되는 Profiler 모듈 소스 : https://github.com/xpressengine/xe-module-profiler/blob/45cfb4097a3e33ba6b0172c6c307e10cef43f2e4/profiler.admin.model.php#L219
문제가 되는 XE-Core 소스 : https://github.com/xpressengine/xe-core/blob/c3355a7a51de24c87d284f143719ae44c91d7e3d/modules/module/module.model.php#L629
혹시 프로파일러 모듈을 사용하려면 별도의 설치과정이 필요한건지 알고싶습니다.
고수님들의 조언 부탁드립니다 ㅠㅠ
감사합니다.
댓글 7
PHP 7.1 이상 버전에서 발생하는 에러입니다.
128줄의 함수 선언 부분에서 모든 파라미터에 기본값을 지정해 주세요. 예: ($arg = null)
그냥 펑션($arg = null) 에 넣으신건가요?
function getModuleList($arg = null)
function getModuleList($arg = null) 이렇게 바꾸시면 됩니다.
PHP 7.1 미만 버전에서 파라미터 갯수가 부족하면 어차피 기본값이 null로 들어갔기 때문에
에러만 없어지고, 작동 방식은 기존과 똑같을 거예요.