I가 다음 CGI 스크립트를"헤더 전에 스크립트 출력의 끝"- 아파치
#!c:\cygwin\bin\perl.exe
use CGI qw(:standard);
my $query = $CGI->new;
print header (
-type => "text/html",
-status => "404 File not found"
);
print "<b>File not found</b>";
이 나에게 오류 제공 :
Server error!
The server encountered an internal error and was unable to complete your request.
Error message:
End of script output before headers: test.cgi
If you think this is a server error, please contact the webmaster.
Error 500
127.0.0.1
Apache/2.4.10 (Win32) OpenSSL/1.0.1h PHP/5.4.31
내가 this을 검토 한 결과를 (그리고 다른 유사한) 질문 (들), 그러나 거기에 헤더가 print
ed가 아니었다.
Cygwin Perl에서 XAMPP Windows 패키지를 사용하고 있습니다.
아무도 도와 줄 수 있습니까? 감사. 당신이 $의 CGI 대신 CGI
을 사용하는 이유를 모르겠어요
내부 서버 오류는 서버 로그를 읽어야한다는 것을 의미합니다. 여기서 서버 로그를 읽어야합니다. . – Quentin
당신이 쓰는 모든 * Perl 프로그램의 맨 위에 * 항상'엄격한 사용'과'경고 사용'을해야합니다. 이것은 매우 간단한 첫 번째 디버깅 단계이므로 코드에 대한 도움을 다른 사람에게 요구하는 경우 특히 해당됩니다. 이 경우에는'전역 기호 "$ CGI"명시 적 패키지 이름 필요 "라는 메시지를 보았을 것입니다. 이것은 정확하게 문제의 원인입니다. – Borodin