2011-01-23 4 views
0

브라우저를 통해 내 "hello world"perl 스크립트 (hello.cgi)에 액세스하려고하면 브라우저에서 500 내부 서버 오류가 발생합니다.500 내부 서버 오류가 발생하는 CGI 파일

그러나 동일한 파일의 파일 끝을 hello.pl로 변경하면 브라우저를 통해 잘 액세스 할 수 있습니다. 나는 또한 파이썬 스크립트 (hello.py)와 같은 디렉토리에서이 문제를 해결하려고 시도했다. ,가 .cgi 평 .pl로

에 AllowOverride 없음 SetHandler CGI 스크립트 옵션 + ExecCGI를 주문 허용

AddHandler에의 CGI 스크립트 :

나는 다음과 같이 httpd.conf 파일을 변경했습니다 deny 모두 허용

이 문제를 해결하기 위해 어디에서나 보았지만 아무 것도 작동하지 않습니다. 도와주세요.

+0

웹 페이지 오류 메시지 외에도 Apache 서버 로그는 CGI 스크립트, 특히 사이트/가상 호스트의 오류 로그를 해결할 때 몇 가지 추가 단서를 제공 할 수 있습니다. 그냥 참고하시기 바랍니다. –

답변

0

아마도 print "Content-Type: text/html\n\n" 또는 그와 같은 것을 잊어 버렸을 것입니다.

1

세방 줄이 올바른지 확인하십시오. 아파치 서버는 펄 인터프리터가 어디에 있는지, 즉 perl.exe가 어디에 있는지를 알아야한다. perl.exe가/usr/bin/perl에없는 경우 (shebang이 말하는 것처럼) 작동하지 않습니다.

나는 # 내 오두막을 변경할 때까지 아무것도 못하고 있었다 C :!/프로그램 파일 (86) /Perl64/bin/perl.exe

(BTW 나는 나이를 찾게 같은 무엇인지 .! 이런 것들에 대한 도움말은 행운을 빕니다)

0

내가 추천 할 것입니다 : 당신이 구성을 호스팅 사용하는 경우 스크립트를주기

  • 은 그때 전 2.0에서 GoDaddy의 웹 기반 파일 관리자
  • 를 사용하여 실행 권한을 펄 스크립트를 믿어 라. cgi 디렉토리에만 위치 할 수 있습니다. 2.0 이상으로 업그레이드하면 perl 스크립트가 호스팅 계정의 어느 곳에 나있을 수 있습니다.
  • 유닉스 라인 엔딩으로 perl 스크립트를 다시 저장하거나, 편집하여 GoDaddy의 웹 기반 파일 관리자로 저장하십시오 (이것은 궁극적으로 저에게 효과적입니다)
  • 앞서 언급했듯이 불완전한 HTTP 일 수도 있습니다 헤더가 전송되고 있습니다
  • 다른 모든 방법으로 오류가 발생하면 호스팅 관리자에서 로깅을 켜고 파일 관리자에 오류 로그라는 디렉터리가 표시됩니다.
관련 문제