나는 최근에 CGI 스크립트가 stdout으로 인쇄 할 수있는 거의 모든 언어로 작성 될 수 있음을 발견했다. 내 공유 호스트에 설치 내 로컬 아파치에서 작동 작은 교활의 CGI 스크립트를 작성,하지만했습니다Guile Scheme 및 CGI?
#!/usr/local/bin/guile -s
!#
(display "Content-Type: text/html")
(newline)
(newline)
(display "hi")
(newline)
이것은 출력, I SSH을 통해 내 호스트의 쉘에서 스크립트를 실행할 때 :
$ ./scheme.cgi
Content-Type: text/html
hi
따라서 분명히 내 호스트에 guile이 설치되어 있습니다. 그러나 브라우저에서이 파일에 액세스하려고하면 "500 Internal Server Error"가 발생합니다. 내 오류 로그를 볼 때, 나는 내가 무서워 "스크립트 헤더의 조기 종료"를 얻고 것을 볼 오류 :
[server.com] [Tue Aug 17 00:54:19 2010] [error] [client xx.xx.xx.xxx] (2)No such file or directory:
exec of '/home/www/vhosts/jcw.geekisp.com/cgi-bin/scheme.cgi' failed
[server.com] [Tue Aug 17 00:54:19 2010] [error] [client xx.xx.xx.xxx] Premature end
of script headers: scheme.cgi
내가 mod_lisp 또는 교활의 FastCGI를 구현을 사용, 공유 호스트에서 오전 때문에 질문 벗어 . 그렇다면 여기에 어떤 문제가있을 수 있습니까? Python, Perl, Ruby 및 Sh로 작성한 비슷한 CGI 스크립트가 오류없이 서버에서 작동합니다. guile 1.8.7이 호스트에 설치되어 있지만 로컬 컴퓨터가 최신 버전으로 설치되어 있습니다.
나는 이것이 엄청난 틈새 문제라는 것을 알고 있으며, 어떤 도움을 주시면 감사하겠습니다!
우수 아이디어, 감사합니다! – jcw
최근에이 방법을 사용하여 CGI 프로그램을 실행하기 위해 내 호스트에서 위폐를 제거했습니다. guile이 설치된 곳에서 LD_LIBRARY_PATH와 GUILE_LOAD_PATH를 올바르게 설정하기 위해 작은 쉘 스크립트 (CGI 프로그램이 실행 됨)를 만들었습니다. – gcbenison