2011-04-13 3 views
4

나는 Blueshot에서 호스팅하는 서버를 가지고있다. 나는 아이폰에서 게시물 변수를 얻기 위해 PHP를 사용하고 있습니다 ...하지만 지금은 아이폰에서 게시물 변수를 얻으려면 파이썬을 사용해야합니다. 나는이내 서버에서 python 스크립트를 실행하는 방법?

import cgi 
import cgitb; cgitb.enable() # for troubleshooting 

print "Content-type: text/html" 
print 

print """ 
<html> 

<head><title>Sample CGI Script</title></head> 

<body> 

    <h3> Sample CGI Script </h3> 
""" 

form = cgi.FieldStorage() 
message = form.getvalue("message", "(no message)") 

print """ 

    <p>Previous message: %s</p> 

    <p>form 

    <form method="post" action="index.cgi"> 
    <p>message: <input type="text" name="message"/></p> 
    </form> 

</body> 

</html> 
""" % message 

같은 것을 쓴 그리고 내 서버에 업로드하지만 .. 나는 페이지로 이동한다면 그것은 단지 소스 코드를 보여줍니다 ... 작동하지 않습니다 내가 여부 파이썬을 모르는 내 서버에 설치되어 있습니다 (파이썬이 기본으로 설치 될 수 있다고 생각합니다). 파이썬이 내 서버에서 실행 가능한지 어떻게 확인합니까? 그렇다면 어떻게 파이썬 스크립트를 내 서버에서 실행할 수 있습니까? 내가하고 싶은 것은 iPhone에서 변수를 가져 오는 것입니다 (iPhone에서 변수를 보내는 방법을 알고 있습니다). 미리 감사드립니다.

답변

10

여기 가지의 작은 체크리스트를 확인 할 수있다 : 그것은 cgi-bin (또는 동급) 폴더에

  • 인가?
  • 실행 파일입니까?
  • 읽을 수 있나요?
  • 해시 뱅이 있습니까?
  • 서버가 CGI 스크립트를 처리하도록 설정되어 있습니까?

    #!/usr/bin/env python 
    import cgi; cgi.test() 
    

    이름이 test.py는, cgi-bin 어딘가에 넣어 및 확인이 실행의 확인 :

    $ chmod a+rx test.py 
    

    일부 웹 서버 여기

는 테스트에 사용할 수있는 샘플 CGI 스크립트입니다 특정 확장명의 CGI 스크립트 만 인식하므로 .py이 작동하지 않으면 .cgi을 사용해보십시오.

+0

hashbang이 중요하다. +1. 나는 항상 그것을 사용하지만, 모두가하는 것은 아닙니다. –

0

이것은 프로그래밍 문제가 아닌 웹 서버 구성 문제입니다. 아파치를 실행하는 경우

이 작동 될 수 있습니다


chmod 755 myscript.py 
ln -s myscript.py myscript.cgi 

그런 다음 당신의 .htaccess 파일에 넣고 :


AddHandler cgi-script .cgi 

당신 때문에 더의 ln 명령을 실행 할 수 없습니다 경우 쉘 액세스, .cgi 확장자로 시작하여 업로드하십시오. 또는 icktoofay가 말했듯이 cgi-bin 폴더에 넣으면 .htaccess 수정이 필요하지 않습니다. CGI 스크립트가 작동하지 않을 때

+0

그런 다음 구성을 변경하는 방법은 무엇입니까? – codereviewanskquestions

+0

@icktoofay : 나는 타이핑 중이라는 것을 알고있다, 느리다 :^\ –

관련 문제