Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PHP 8 관련 회원가입/탈퇴, 레이아웃 오류 제보 #1627

Closed
Erictoby opened this issue Feb 17, 2021 · 17 comments
Closed

PHP 8 관련 회원가입/탈퇴, 레이아웃 오류 제보 #1627

Erictoby opened this issue Feb 17, 2021 · 17 comments
Labels
bug 버그로 확인된 사항 patch available 패치 있음 표시 (bug와 함께 사용)

Comments

@Erictoby
Copy link
Contributor

이미 아시겠지만 일하기 편하시라고 제보합니다. php 7.4에는 넘어가던 것이 php 8.0에서 에러를 내네요.

  • layout의 info.xml에서 버전을 0.2로 세팅하면 new stdClass()가 적용되는데, 0.1로 되어 있으면 이게 아직 적용이 안되어 있어 php 8에서 오류가 뜨네요. (module/layout/layout.model.php의 656~732줄 else { } 부분입니다). 사용 안하는 레이아웃도 /layout에 일단 파일만 존재하면 오류를 만들어 냈습니다.

  • module/member/member.model.php의 559줄, if(!count($group_list)) 에서 오류가 뜨네요. array 아니라 셀수 없다고...

  • module/member/member.controller.php의 3818줄쯤 _checkSignUpField()내의 trim()에서 오류가 뜨네요. array라고...
    elseif (!isset($args->{$formInfo->name}) || trim($args->{$formInfo->name} ?? '') === '')
    임시로 예전처럼 하니까 넘어는 갑니다.
    elseif (!isset($args->{$formInfo->name}) || !$args->{$formInfo->name})

@bjrambo
Copy link
Member

bjrambo commented Feb 17, 2021

2, 3번의 경우 어떻게 하면 에러가 뜨는지 알 수 있을까요? (어느페이지에 접근시 확인할 수 있을까요?)

@Erictoby
Copy link
Contributor Author

2번은 회원 탈퇴 버튼을 누르니까 떴습니다. 다른 경우도 있겠지만요. 3번은 회원가입할때 extra_vars를 사용하는 form 을 사용할때 뜨는데, 아마도 전화번호를 입력받는데(기본항목 이외에 다른 이유로)... 이게 array로 되어 있는 것 같습니다.

@bjrambo
Copy link
Member

bjrambo commented Feb 17, 2021

@Erictoby 확인해볼께요 감사합니다. :)

@bjrambo
Copy link
Member

bjrambo commented Feb 17, 2021

@Erictoby 최신 develop 브랜치로 라이믹스 업데이트 하신다음 해당 오류들 다시 한번 테스트해봐주세요. 줄수도 약간 다른것들이 있고, 최신 develop 에서 고쳐진 항목들이 몇가지 있는 것 같습니다.

@Erictoby
Copy link
Contributor Author

Erictoby commented Feb 17, 2021

1번 module/layout/layout.model.php의 656~732줄
2번 module/member/member.model.php 556줄 (getMemberGroups()내) (559줄이 아니네요 ㅎ)
3번 module/member/member.controller.php 3825줄 (_checkSignUpFields() 내) (3818이 아니네요 ㅎ)
현재 develop 브랜치 기준 줄수 입니다. master 2.0.7를 사용하는데, 현 develop도 내용은 같은 것 같습니다. ^^;

@bjrambo
Copy link
Member

bjrambo commented Feb 17, 2021

1번은 증상 확인후 확인중에 있습니다.

2번, 3번은 제 개발서버에서는 확인이 안되고 잇네요 ㅠ

@Erictoby
Copy link
Contributor Author

3번 develop으로 확인 해봤는데, 오류 뜹니다. 에러 내용은
"TypeError #0 "trim(): Argument #1 ($string) must be of type string, array given" in modules/member/member.controller.php on line 3825" 라고 나오네요.

2번은 제 경우, count를 countobj로 바꾸면 넘어는 갑니다. 에러 내용은
"TypeError #0 "count(): Argument #1 ($var) must be of type Countable|array, null given" in modules/member/member.model.php on line 556"

@kijin kijin added the bug 버그로 확인된 사항 label Feb 17, 2021
@bjrambo
Copy link
Member

bjrambo commented Feb 17, 2021

@Erictoby 제가 패치해봣는데요 혹시 몰라서.. 뭔가 양식이 다르거나 그럴 수 있을 것 같아서 요청드리는건데..
그 레이아웃 info파일만 저희쪽으로 보내주실 수 있으실까요?

대충 저희가 가지고 잇는 0.2 버전을 0.1이라고 바꿔서 해봣는데 이게 양식이 다를 수 있을 것 같아서요.

있으시면 보내주시면 감사하겠습니다 (_ _ ) devops@rhymix.org 이메일입니다.

@bjrambo
Copy link
Member

bjrambo commented Feb 17, 2021

@Erictoby 파일 감사합니다. 최신 develop 브랜치에서 레이아웃 관련 PHP오류는 고쳤습니다.

@Erictoby
Copy link
Contributor Author

Erictoby commented Feb 17, 2021

@bjrambo 테스트 해보니 php 8 오류가 사라졌습니다~ 그런데, 어쩐일인지 상단의 메뉴가 안나오네요 (물론 캐시파일 재생성 했음).

참고로, 0.1버전 info.xml을 0.2로 바꿀때 다음 두가지를 수정하면 되네요. (물론 author의 date나 description도 위치가 다르지만 동작에는 영향이 없었습니다)

<layout version="0.1"> => <layout version="0.2"> 로 바꾸고,
(0.1에는 없음) => <version>1.0</version><author>위에 추가하니 메뉴가 나옵니다.
<version>...</version>이 없이 layout version만 "0.2"로만 바꿔서는 여전히 메뉴가 안나오네요.

@bjrambo
Copy link
Member

bjrambo commented Feb 17, 2021

레이아웃 설정파일이

files/faceOff/

폴더안에 데이터가 저장되는데요.. 그 번호가 각각 다달라서.. 정확하게 어디를 지우라고 말씀은 못드리겟네여..
그 파일이 삭제 되어야 정상적으로 해당 메뉴들이 뜰거예요 ㅎ

원래쓰시던 파일로 info.xml파일 원복하시고 해당 레이아웃 설정과 동일한 파일을 찾아서 지워보세요.

아마 거기에는 몇개 안될거예요 레이아웃 갯수만큼 출력되는 항목들이거든요.

@Erictoby
Copy link
Contributor Author

/files/faceOff를 모두 지워봤는데 그대로여서, 관리자 페이지/설치된 레이아웃/설정 에 들어가보니, "메뉴"에 상단메뉴 라는 것이 아예 안뜨네요(info.xml에는 맞게 들어가 있음). 하단 메뉴는 잘 나옵니다. ㅎ.. 0.2로 바꾼 info.xml을 사용하면 상단메뉴 하단메뉴 모두 나오구요.

@bjrambo
Copy link
Member

bjrambo commented Feb 17, 2021

아하 한번 다시 확인해보겠습니다. ;ㅁ;

@bjrambo
Copy link
Member

bjrambo commented Feb 17, 2021

bc4abef 에서 고쳐드렸습니다. 꼼꼼하게 확인한다고 했는데 번거롭게 해드려서 죄송합니다.

@kijin
Copy link
Member

kijin commented Feb 17, 2021

회원 탈퇴 관련 이슈는 제가 별도로 패치하겠습니다.

@Erictoby
Copy link
Contributor Author

@bjrambo 확인해보니 메뉴 잘 뜨네요~~ 너무 빨리 답해주셔서 어찌 감사해야할지~. :)

@kijin kijin added the patch available 패치 있음 표시 (bug와 함께 사용) label Feb 18, 2021
@Erictoby
Copy link
Contributor Author

@kijin 수정된 패치 테스트 해보니까 잘 동작합니다. 항상 감사합니다~.

@kijin kijin closed this as completed in 05cef07 Feb 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug 버그로 확인된 사항 patch available 패치 있음 표시 (bug와 함께 사용)
Projects
None yet
Development

No branches or pull requests

3 participants