CGI 에러 찾기
체크하고자 하는 스크립트 코드 내에 아래 내용을 삽입하시면, 에러 위치의 확인이
가능합니다.
print "Content-type: text/html";
print "여기까지는 에러가 없습니다";
exit;
|
|
인터넷 상에서 해당 CGI를 실행하여, 만약 "여기까지는 에러가
없습니다." 라는 글이 출력된다면스크립트 내에서 위의 내용이 있는 부분까지는
정상적으로 실행된다는 의미입니다.
다시 위의 내용을 좀 더 아래에 삽입하여 테스트 해 보십시오.
만약 위의 메시지가 나오지 않는다면, 그 앞부분에 에러가 있다는 뜻입니다.
위의 내용을 좀 더 위에 삽입하여 에러가 있는 위치를 찾아내시면 됩니다.
CGI 체크 리스트
CGI 스크립트는 반드시 확장자가『.cgi』로 설정되어야 하며
스크립트는 반드시 public_html
디렉토리나 그 이하 디렉토리에
있어야 합니다.
cgi-bin 폴더는 public_html
폴더내에 존재하지 않아야 합니다.
Perl 스크립트는 반드시 아스키(ASCII) 모드로 업로드 하셔야
합니다.
Perl 스크립트의 가장 윗줄에 Perl의 경로를 정확하게
기재합니다.
블루웹의 perl 경로 :
#!/usr/bin/perl
CGI 스크립트는 반드시 실행가능한 퍼미션으로 변경해 주셔야
합니다.

chmod 705 file.cgi
CGI 스크립트에 의해 파일이 생성되어질 디렉토리와 쓰기가
이루어질 파일은 모든 사람에게
쓰기 권한이 허용되어야
합니다.

chmod 707 dir_name

chmod 707 file.html
웹 상에서 스크립트가 실행이 되지 않을경우, 텔넷 상에서
스크립트를 실행해 보십시오.

perl file.cgi
스크립트가 서버상에서는 정상적으로 실행되나, 웹 상에서는
실행되지 않을 경우에는,
파일이나 디렉토리의 사용권한을
살펴보십시오.
CGI 에러코드
프로그램 문법이나 코딩에 에러가 있다면 해당 에러메시지가 출력됩니다.
에러메시지를 참조하여 소스를 수정하여 주십시오.
『4』
로 시작하는 에러코드
실행시킨 CGI에 에러가 발생하여
웹서버에서 웹브라우저로 보내주는 에러코드
.
|
400 Bad request
|
HTTP의 규약에 맞지않는 요청
|
.
|
401 Unauthorized
|
인증(허가)되지 않은 ID와 패스워드 입력
|
.
|
403 Forbidden
|
파일에 대한 권한이 없거나 실행 가능한 파일이 아님에도
실행하려 할 경우
|
.
|
404 Not Found
|
요청한 CGI파일이 디렉토리에 존재하지 않을 경우
|
|
『5』
로 시작하는 에러코드
실행시킨 CGI가 웹서버에서
실행도중 발생한 에러코드
.
|

500 Internal Server Error
|

펄의 경로나, 퍼미션이 잘못 설정 되었을 경우
CGI 파일이 리눅스용 아스키 파일이 아닐 경우
|
.
|
501 Not Implemented
|
웹브라우저에서 요청한 Form METHOD 가 웹서버에서 허용
하는 것이 아닐 경우
|
.
|
502 Bad Gateway
|
요청한 웹서버가 프락시 서버나 게이트웨이 서버로 실행
|
.
|
503 Server Unavailable
|
브라우저의 요청에 웹서버가 제대로 처리하지 못할 경우
다른 작업처리로 인하여 요청한 처리를 하지 못할 경우
|
|
|
|