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 폴더에서 제거하세요.
페이지 상단에
error_reporting(E_ALL);
ini_set("display_errors", 1);
해보세요.
php 오류를 출력하는 코드 입니다.
아마 서버가 이미지 생성 관련 함수를 지원하지 않는 것 같습니다.
천사별님 말씀처럼 다른 코드와 충돌일 가능성이 큽니다.
우격다짐으로 처리방식 또는 확인방법중 하나는..
<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가지 부분이 문제인것으로 확인되었습니다
현재 이미지 표시는 잘 됩니다
답변해 주신분들께 진심으로 감사드립니다
세상에!!! 저도 이문제로 해결했어요! logos님 감사해요!!! @@
1. /data/dbconfig.php 의 ?> 뒤에 공백 1개 삭제