2014-04-16 6 views
0

환경 :아파치, Python3, CGI 스크립트

  • 맥 OS X 10.8.5
  • 아파치 (운영 체제와 함께 제공된 버전)
  • Python2 (운영 체제와 함께 제공된 버전)
  • (브루 통해 설치)
  • Python3

웹 브라우저에서이 코드를 반환 "테스트":

#!/usr/bin/env python 
# -*- coding: UTF-8 -*- 

from __future__ import print_function, division 

print("Content-Type: text/html") # HTML is following. 
print() # Blank line, end of headers. 

print("testing") 

그러나이 코드는 웹 브라우저에서 "내부 서버 오류"를 반환 (이 시간 python3 사용) :

#!/usr/bin/env python3 
# -*- coding: UTF-8 -*- 

print("Content-Type: text/html") # HTML is following. 
print() # Blank line, end of headers. 

print("testing") 

을 ... 그리고 아파치 오류 로그 :

env: python3: No such file or directory 
Premature end of script headers: test_cgi.py 

echo $PATH에서 :

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin 

찾고 ls -al /usr/bin/python*, 깊이 :

/usr/bin/python 
/usr/bin/python-config 
/usr/bin/python2.5 -> ../../System/Library/Frameworks/Python.framework/Versions/2.5/bin/python2.5 
/usr/bin/python2.5-config -> ../../System/Library/Frameworks/Python.framework/Versions/2.5/bin/python2.5-config 
/usr/bin/python2.6 -> ../../System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6 
/usr/bin/python2.6-config -> ../../System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6-config 
/usr/bin/python2.7 -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 
/usr/bin/python2.7-config -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config 
/usr/bin/pythonw 
/usr/bin/pythonw2.5 -> ../../System/Library/Frameworks/Python.framework/Versions/2.5/bin/pythonw2.5 
/usr/bin/pythonw2.6 -> ../../System/Library/Frameworks/Python.framework/Versions/2.6/bin/pythonw2.6 
/usr/bin/pythonw2.7 -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/pythonw2.7 

그리고 ls -al /usr/local/bin/python*에서 :

/usr/local/bin/python3 -> ../Cellar/python3/3.3.3/bin/python3 
/usr/local/bin/python3.3 -> ../Cellar/python3/3.3.3/bin/python3.3 
/usr/local/bin/python3.3-config -> ../Cellar/python3/3.3.3/bin/python3.3-config 
/usr/local/bin/pythonw3.3 -> ../Cellar/python3/3.3.3/bin/pythonw3.3 

질문 : 내 PATH의 첫 번째 항목은/usr/local/bin이 때문에

  1. , 왜 수 ' 아파치가 파이썬 3을 찾았습니까?
  2. 어떻게 아파치에게 파이썬 3을 사용한다고 말할 수 있습니까?

당신의 도움 :)

답변

1

주셔서 감사합니다 나는 똑같은 문제가; 파이썬을 인식하는 방법을 알아낼 방법이 없다.

#!/usr/bin/python

작품, 그러나 : 수동으로 인터프리터를 지정하는 경우 또한, #!/usr/local/bin/python3

내가 가지고 ... 아파치 오류 로그에서 "스크립트, 부정 헤더"를 뿌려 이것이 임의의 해석기를 실행해야하는 이유는 무엇인지 전혀 알 수 없습니다.

편집

좋아, 내 문제가 실제로 날이 출력되지 않은 헤더 정보. 문제는 python3 환경 변수가 설정되지 않았다는 것입니다. 첫 번째 줄을 다음으로 변경해보십시오.

#!/usr/local/bin/python3