워드프레스 케이보드 플러그인: Fatal error: Uncaught TypeError: in_array().. 오류

워드프레스 정보를 제공하는 블로그 Avada 2025. 7. 29. 17:48 • 댓글:

워드프레스용 한국형 게시판인 케이보드(Kboard) 게시판에 게시글이 등록되면 CoolSMS 서비스를 통해 문자로 알림이 전송되도록 하는 작업을 진행했습니다. 하지만 게시판에서 신규 글을 작성하면 Captcha 검증과 관련하여 치명적인 오류가 발생했습니다.

Fatal error: Uncaught TypeError: in_array(): Argument #2 ($haystack) must be of type array, null given... 오류인데요. 이 문제의 해결을 위해 시간을 소비했지만, 해결을 하지 못했습니다.

워드프레스 케이보드 플러그인: Fatal error: Uncaught TypeError: in_array().. 오류

케이보드 게시판에 글을 등록하면 캡챠(보안 문자) 때문에 치명적인 오류가 발생하는 경우가 있습니다. 이와 관련하여 다음 케이보드 포럼 글을 참고할 수 있습니다.

 

글 작성 시에 치명적인 오류가 발생합니다. - Cosmosfarm

1. 정확한 제품 또는 플러그인 이름 kboard   2. 상세 내용 글 작성시에 저장하기를 누르면 아래의 에러메시지가 출력 됩니다. 현재 사용중인  Kboard 버전은 6.3 입니다. Warning: Undefined array key "kboard_c

www.cosmosfarm.com

케이보드 운영자는 폴더의 쓰기 권한에 문제가 있거나, 호스팅 용량이 부족하거나, PHP의 GD 모듈이 제대로 설치가 안 되어 있는 경우에 이와 같은 문제가 발생할 수 있다고 하네요.

FTP로 접속해서 /wp-content/uploads/kboard_captcha 폴더에 쓰기 권한이 있는지 확인해보시겠어요?
/wp-content/uploads/kboard_captcha 폴더를 지워보신 후 다시 확인해보시겠어요?
또, 호스팅 용량은 충분한지 확인해보셔야 할 듯합니다.
캡차(CAPTCHA) 기능의 문제가 있다면
PHP의 GD 모듈이 제대로 설치돼있지 않는 문제일 수도 있습니다.

하지만 클라우드웨이즈(Cloudways)를 이용하고 있어서 위의 경우에는 해당하지 않는 것 같습니다.

챗GPT는 PHP 버전 때문에 문제가 발생한다고 설명하네요.

이 치명적인 오류는 KBCaptcha.class.php의 70번째 줄에서 in_array() 함수가 호출될 때, 두 번째 인자인 $_SESSION['kboard_captcha']가 배열이 아니라 null이기 때문입니다. PHP 8.0 이상에서는 in_array()에 null을 넘기면 TypeError가 발생하며, 이는 더 이상 경고 수준이 아닌 치명적인 실행 중단 오류(Fatal error)로 처리됩니다.

또한 $_SESSION['kboard_captcha']가 존재하지 않을 때 바로 접근하면 "Undefined array key" 경고도 함께 발생합니다. 이 문제는 세션 키가 존재하는지와 배열 타입인지 먼저 확인하지 않고 직접 in_array()에 넘겼기 때문에 발생하며, PHP 8.3에서는 필수로 isset()과 is_array()로 방어 처리를 해야 오류를 예방할 수 있습니다.

하지만 챗GPT나 그록3에서 제시하는 해결책을 적용하면 치명적인 오류는 사라졌지만 Captcha를 올바르게 입력해도 캡챠가 잘못 입력되었다는 오류가 발생하여 글이 게시되지 않았습니다.

PHP 8.3 환경에서 처음에는 게시글이 제대로 게시되었지만, 갑자가 이 오류가 발생하면서 이후부터는 어떤 조치를 취해도 문제가 해결되지 않았습니다.

이 문제가 발생하면 PHP 7.4 버전으로 변경하여 문제가 해결되는지를 체크하면 좋을 듯 합니다. PHP 7.4에서는 정상적으로 작동한다면 확실히 PHP 버전 때문이 원인이라 추정할 수 있을 것입니다.

케이보드 게시판에 신규 글이 등록되면 문자로 알림 메시지 보내기

코스모스팜 회원관리 플러그인을 사용하면 게시판에 신규 글이 등록될 경우에 문자 알림을 보낼 수 있습니다.

 

워드프레스 SMS 문자 전송 기능 관련 - Cosmosfarm

cafe24에서 SMS 호스팅을 신청하고 워드프레스에서 연동을 해서 문자 발송은 되고 있습니다. 그런데 코스모스팜 회원관리에서 KBoard 게시판 알림을 사용으로하고 새로운 알림이 등록되면 SMS 알림

www.cosmosfarm.com

코스모스팜 회원관리 플러그인은 88,000원에 판매되고 있으면 매년 갱신해야 합니다.

카페24의 SMS 호스팅에 가입하여 연동이 가능하다고 합니다.

 

워드프레스 SMS 문자 보내기 플러그인 - 카페24(cafe24) 연동

안녕하세요, 워드프레스 사용자 여러분. 워드프레스 홈페이지에서 SMS 문자 보내는 기능...

blog.naver.com

다른 방법으로 CoolSMS와 같은 문자발송 서비스에 가입하여 케이보드와 연동하는 것이 가능합니다. 저는 CoolSMS에 가입 1만원을 충전하여 워드프레스 문의 폼을 통해 문의가 이루어질 때 문자로도 알림이 오도록 설정했습니다😄

케이보드 게시판에 신규 글이 작성될 때 알림 문자 전송도 가능합니다.

CoolSMS 서비스를 이용하면 문의가 그리 많지 않을 경우 1만원을 충전하여 몇 년은 사용할 수 있을 것 같습니다. 저는 4개월 정도 이용하였는데, 잔액이 9,000원 넘게 남았습니다.😄

Quform, Contact Form 7, Forminator 등의 컨택트 폼에서 문의가 등록될 때 문자로 발송이 가능합니다. 엘리멘터 프로에서 제공하는 Form을 이용하는 경우에도 연동이 가능할 것입니다.

 

워드프레스 Contact Form 7 문의 시 SMS 문자로도 발송되도록 연동하기

Contact Form 7, Quform, Forminator 등 워드프레스 컨택트 폼 플러그인을 통해 문의를 받을 때 문자로도 문의 내용이 발송되도록 할 수 있습니다. 이를 위해서는 문자 발송 서비스에 가입해야 합니다. 단

avada.tistory.com

참고

https://avada.tistory.com/3704

 

워드프레스 케이보드 최신글 캐러셀 (회전 슬라이더)

워드프레스 케이보드의 특정 게시판의 최신글을 캐러셀(회전 슬라이더)로 표시하는 작업을 부탁받았습니다. 엘리멘터 프로의 Loop Carousel이나 Loop Grid 등의 위젯을 사용하여 최신글 슬라이더를

avada.tistory.com

https://avada.tistory.com/3619

 

워드프레스 케이보드 오션 별점 스킨 게시판 커스텀 작업

케이보드 오션 별점 스킨은 워드프레스 제품 및 이용 후기 등 리뷰 작성용 게시판을 위한 스킨으로 Cosmosfarm 스토어에서 판매되고 있습니다.사용자들의 제품 후기 게시판을 필요한 경우 이 케이

avada.tistory.com