Windows에서 XAMPP apache 설정 실행 .py Python 파일 : ScriptInterpreterSource Registry-Strict


1

필자는 PHP 프로그래밍 클래스를위한 Windows 10 랩톱에서 최신 XAMPP 버전 (PHP 7.2.2) 설치 및 실행중인 아파치를 설치했습니다. CGI가 브라우저 창에서 .py 파일을 올바르게 실행하도록 + ExecCGI 옵션을 사용하고 /XAMPP/apache/conf/httpd.conf의 AddHandler 행에 .py를 추가하도록 할 수있었습니다.

일반적으로 처음 두 줄은 .py 파일을 올바르게 실행하기 위해 CGI에서 다음과 같이 표시해야합니다.

#!C:/Python/Python36_x86/python.exe
print("Content-Type: text/html\n")

그러나 ScriptInterpreterSource에 대한 Apache2.4 설명서를 읽은 후 : https://httpd.apache.org/docs/2.4/mod/core.html#scriptinterpretersource

설명서에 언급 된 올바른 레지스트리 키를 다음 줄과 함께 추가했습니다.

ScriptInterpreterSource Registry-Strict

내 /XAMPP/apache/conf/httpd.conf에

처음 두 줄이 없어도 파이썬 스크립트를 실행할 수있었습니다. 그러나 첫 번째 행에는 print () 명령문이 필요합니다 (또는 print ( '\ n')).

======================================================================================================== =============

내 질문:

파이썬 스크립트의 첫 줄에 print / newline 문이 필요하지 않은 방법이 있습니까?

답변:


0

파이썬 스크립트의 첫 줄에 print / newline 문이 필요하지 않은 방법이 있습니까?

아마도 ... 최소한 CGI를 통해 파이썬을 사용하지 않았을 것입니다.

주어진 CGI 스크립트 (파이썬에있는 스크립트뿐만 아니라)의 경우,이 "빈 라인"( CRLF ) 브라우저에 반환 된 데이터의 시작 부분에 필요합니다. 아파치는 인터프리터의 경로와 가치를 Content-type 레지스트리에서이 줄을 포함하지 않는 것으로 보입니다.

여전히 추가 비용이 필요합니다. print() 첫 번째 줄에있는 진술 (또는 print('\n') ).

명확히하기 위해 혼동이있을 경우 스크립트에서 출력하는 텍스트의 첫 줄만 입력하면됩니다 (예 :

# Print our Python version

import sys

version = sys.version_info
full_version = str(version.major) + '.' + str(version.minor) + '.' + str(version.micro)

# 8000 more lines that don't include print()...

# === Our first line(s) of text output ===
# print ('Content-type: text/html')
print ('')

print ('Python Version: ', full_version)

참고 사항 (다른 사람들에게) : OP와 같이 등록 된 것이 전부가 아니라면, 다음과 같은 해시 뱅이 필요합니다. !# python 당신이 첫 줄을 긋고 주석을 풀어야한다. print ('Content-type: text/html').



답변 해 주셔서 감사합니다. 그러나 15 세 미만의 신입 회원이므로 아무 것도 표시 할 수 없습니다.
Maleko48

걱정 마. 천만에요. =)
Anaksunaman
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.