2011-09-19 5 views
1

나는 내용이있는 perl.cgi 파일이 실행되지 않습니다. (chmod a+x perl.cgi)CGI 스크립트는

그런 다음 새 파일 perl.htm을 같은 디렉토리에 만들었습니다. 내 브라우저에서 perl.htm을 실행하면 그때로 출력 얻을

Content-type: text/html 
<p><a href="perl.cgi">RUN perl.cgi</a></p> 

: 다음과 같은 데이터가 어떤 내가 RUN perl.cgi을 클릭하면

Content-type: text/html 
RUN perl.cgi 

을 다른 페이지가 열리고 출력이있다 :

#!/usr/bin/perl 
print "Content-type: text/html\n\n"; 
print "<h1>Hello World</h1>\n"; 

perl.cgi이 실행되지 않습니다. 파일 내용 만 표시됩니다.

편집 : 답변 및 의견에서 나는 CGI 스크립트를 실행하기 위해 웹 서버 (아파치)를 구성해야한다는 것을 알게되었습니다. 어떻게해야합니까? 알려줘. 그것은에 *가 .cgi 파일 (또는 더 일반적으로, 모든 파일을 실행하도록 설치 프로그램에 웹 서버가 필요

AddHandler cgi-script cgi pl 
<Directory /path/to/cgi/files> 
    Options +ExecCGI 
</Directory> 
+0

웹 서버 설정을보다 자세하게 설명해야합니다. –

+1

http://serverfault.com으로 이동하겠다고 투표했으나 파일 이름을 'perl.pl'로 변경하십시오. 그렇지 않다면 perl cgi를 실행하기 위해 웹 서버 corectly를 구성해야합니다. –

답변

9

는 소리 특정 디렉토리) .html 파일처럼 브라우저에 전달하는 것이 아닙니다.

이 작업은 서버에 따라 다릅니다.

+0

완료, 여전히 동일한 문제가 발생했습니다 –

+0

btw 끝에을 사용하십시오. –

+0

당신 말이 맞습니다. –

0

: 아파치 *가 .cgi 파일을 실행하도록 구성되지 않은 것처럼

+0

아파치를 사용하고 있습니다. cgi를 실행하려면 어떻게 구성해야합니까? –

+0

@Gabriel의 답을 확인하고 섹션에서 ScriptAliasMatch ^/cgi-bin (. *) "/ full/path/to/cgi/directory/$ 1"을 추가하십시오. – blankabout

4

당신은 httpd.conf 파일에 CGI 모듈을로드하고 있는지 확인하십시오 : 실행중인 아파치 버전에

LoadModule cgi_module modules/mod_cgi.so 또는 LoadModule cgi_module modules/mod_cgid.so가 따라.

Dynamic Content with CGI에 대한 추가 솔루션을 읽을 수도 있습니다.