2016-09-21 3 views
1

최근 Windows 컴퓨터에서 CGI 스크립트를 실행하기 위해 XAMPP (Apache) 서버를 설치했습니다. 아시다시피 XAMPP에는 PERL을 설치할 수있는 옵션이 있지만 선택하지 않았습니다. Cygwin의 PERL을 사용하여 실행하고 싶습니다.Cygwin Perl CGI with Xampp

문제는 기본 CGI 스크립트를 실행하려고 해요 때, 나는 Cygwin에서 펄 경로를 의미 다음과 같은 오류

[Tue Sep 20 19:51:10.473825 2016] [win32:error] [pid 12420:tid 1848] [client ::1:57051] AH02102: C:/xampp/cgi-bin/perltest.cgi is not executable; ensure interpreted scripts have "#!" or "'!" first line`enter code here` 

[Tue Sep 20 19:51:10.473825 2016] [cgi:error] [pid 12420:tid 1848] (9)Bad file descriptor: [client ::1:57051] AH01222: don't know how to spawn child process: C:/xampp/cgi-bin/perltest.cgi 

에게 얻을 것은 유 효하지입니다. 그러나, 나는 경로를 바꾸었고, 지금도 일하고있는 shebang를 아직도 놓았다. 어떤 도움이 shbang 개념 Windows에서 종료되지 않습니다

+0

어떤 cygwin의 PERL 버전을 사용하고 있습니까? cygwin 설정으로 PERL 확장을 설치 했습니까? 올바른 PERL 경로가 포함되어 있는지 확인하려면 $ _PATH 환경 변수를 확인하십시오. –

+0

(v5.22.1)을 사용하고 있습니다 ... 확장 기능을 설치하지 않을 것입니다. $ _Path 환경 변수를 확인하는 방법 ..any 도와주세요 .. – Randy

+0

Ahh 내 나쁜 ....... 그 해결 이제 ..... ..... shebang을 붙여 넣거나 변경하는 동안 ... 그것은 2 라인으로 이동하고 작동하지 않게 만들고있었습니다 .... 이제 작동 중입니다. .... 무시하십시오. 도움을 청합니다. – Randy

답변

0

감사

#!C:\cygwin64\bin\perl.exe 

: 이것은 내가 사용하고 하나입니다. 아파치는 Windows에서 shbang이라는 개념을 에뮬레이션 한 것으로 알려져 있지만 (스크립트의 첫 번째 줄을 읽음으로써), 여전히 문제가있을 수 있습니다.

Windows에서 Windows 배치 파일 (.bat 파일)을 CGI 스크립트 (.vbs를 사용할 수도 있음)로 사용하는 것이 가장 좋습니다.

Apache 구성에서 특정 유형의 스크립트에 대해 SetHander (또는 AddHandler)를 수행 한 다음 HelloWorld.bat와 같은 배치 파일을 사용하십시오.

@echo off 
echo "content-type: text/plain" 
echo. 
echo "Hello World" 
dir 

dir 대신에 다른 바이너리 (예 : perl.exe)를 사용할 수 있습니다.

0

새틴을 붙여 넣거나 변경하는 동안 두 번째 줄로 이동하여 작동하지 않게되었지만 현재 작동 중입니다.