kcaptcha 에서 이미지가 생성이 안되고 있습니다

kcaptcha 에서 이미지가 생성이 안되고 있습니다

QA

kcaptcha 에서 이미지가 생성이 안되고 있습니다

본문

define('G5_USE_CACHE',  false); 로 설정되어 있습니다

 

리캡챠에서 음성을 확인하면 음성은 나옵니다
새로고침하면 바뀐값으로 음성이 변경됩니다
/data/cache/ 아래에 mp3 파일은 올바르게 생성됩니다
그런데 이미지만 표시되지 않습니다.

 

Q. 소스코드가 UTF-8 아니다?
A. 전체확인 결과 전체 다 UTF-8 맞습니다
  그게 문제라면 mp3 파일도 생성이 안되지 않을까 합니다

 

Q. /data/cache 퍼미션 문제
A. 퍼미션이 문제라면 mp3 파일도 생성되지 않을 것입니다

 

Q.에디터 화면에서는 보이지 않지만 include 된 파일에 공백이 숨어 있는 경우
A.관련파일 모두 열어서 확인한 결과 이상이 없습니다
  그게 문제라면 mp3 파일도 생성이 안되지 않을까 합니다

 

Q. /css/default.css 와 mobile.css 의 이미지 경로
A. 원본: ../img/captcha.png 
   수정: /img/captcha.png   이렇게 해도 이미지는 표시 안됩니다

 

Q. plugin/kcaptcha/ 의 하위파일에서 오류발생하는 경우
A. ini_set ('display_errors', 'On'); 상태에서 확인하였습니다
    kcaptcha.js             개발자 console 에서 확인해도 이상없고 mp3 재생도 잘되므로 이상없다고 봅니다
    kcaptcha_session.php    이상없이 세션 잘 생성됩니다
    kcaptcha_result.php     ss_captcha_count 가 5미만이지만 혹시 몰라 항상 true 를 반환하도록 수정 
    kcaptcha_mp3.php        문제없이 mp3 파일 잘 생성됩니다
    kcaptcha_image.php      kcaptcha_image.php?t=1512028435  직접호출해도 이미지가 표시되지 않습니다

    kcaptcha.lib.php        특별한 이상이 표시되지 않습니다

 

kcaptcha.lib.php 파일에서 KCAPTCHA.image 메서드의 맨 아래 부분에서 다음과 같이 수정하고
kcaptcha_image.php?t=1512028435 를 직접 호출해서 보면
바이너리 코드만 잔뜩 나옵니다


        if(function_exists("imagejpeg")){
            //header("Content-Type: image/jpeg");   // 여기가 있으면 검정화면에 아무것도 안나옴
            //imagejpeg($img2, null, $jpeg_quality);
            echo '<img src="'.imagejpeg($img2, null, $jpeg_quality).'" />';
            exit;
        }else if(function_exists("imagegif")){
            header("Content-Type: image/gif");
            imagegif($img2);
        }else if(function_exists("imagepng")){
            header("Content-Type: image/x-png");
            imagepng($img2);
        }

물론 원래 코드로 돌려놓고 확인하면 까만바탕에 아무것도 안 나옵니다

뭐가 문제인걸까요?

이 질문에 댓글 쓰기 :

답변 5

플러그인이나 스킨으로 인해 extend 폴더에 관련 파일이 추가 된 경우 캡차와 충돌하여 캡챠 이미지가 보이지 않는 경우가 있으니 의심되는 플러그인이나 스킨 관련 파일을 extend 폴더에서 제거하세요.

답변 감사합니다

extend 폴더내의 파일을 몽땅 삭제하고 해 봐도
증상이 동일합니다

후~~
그누보드 순정에서는 잘나오는군요
일부 코어를 손댄 부분에서 문제인가 봅니다
하나씩 확인해 봐야겠네요^^

페이지 상단에

 

error_reporting(E_ALL);
ini_set("display_errors", 1);

 

해보세요.

 

php 오류를 출력하는 코드 입니다.

 

아마 서버가 이미지 생성 관련 함수를 지원하지 않는 것 같습니다.

답변 감사합니다
질문 내용안에
"ini_set ('display_errors', 'On'); 상태에서 확인하였습니다" 가
있었는데 못보신 모양입니다 ^^

if(function_exists("imagejpeg")) 하면 true 입니다
함수 미지원 문제는 아닌줄로 압니다

천사별님 말씀처럼 다른 코드와 충돌일 가능성이 큽니다.

 

우격다짐으로 처리방식 또는 확인방법중 하나는..

 

<script src="/js/jquery-1.8.3.min.js"></script> 와 같은 jquery 스크립트를

write.skin.php 파일에서  kcaptcha 실행 직전에 삽입해 보세요.

아래의 오류를 수정

1. /data/dbconfig.php 의 ?> 뒤에 공백 1개 삭제

2. /common.php 의 최상단에 error_reporting( E_ALL ); 로 한것을

   원래의 소스대로 복원

이 2가지 부분이 문제인것으로 확인되었습니다

현재 이미지 표시는 잘 됩니다

 

답변해 주신분들께 진심으로 감사드립니다

 

답변을 작성하시기 전에 로그인 해주세요.
전체 120
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT