无法在Apache Web服务器上运行Python脚本(Windows 7)

时间:2016-02-11 11:30:56

标签: python apache

这是Python脚本本身(test.py):

#!/Users/misha/AppData/Local/Programs/Python/Python35-32
print("Content-Type: text/html\n")
print("\n\n")
print("<h1>Test</h1>")

我在Apache的配置文件httpd.conf中有这个:

<Directory "c:/Apache24/htdocs">
    ...
    ...
    Options Indexes FollowSymLinks ExecCGI
    ...
    ...
</Directory>

AddHandler cgi-script .cgi .py

我重新启动Apache - 其他一切工作正常,但当我尝试在浏览器中指向我的Python测试文件时,服务器会向我抛出内部服务器错误

这是我的Apache最新的日志文件条目(为了便于阅读,我编辑了一些):

(localhost-error.log)
[Thu Feb 11 14:24:39.357362 2016] [cgi:error] [pid 16872:tid 1028]
(OS 5)Access is denied.  : [client 127.0.0.1:54957] AH01223:
couldn't spawn child process: C:/Apache24/htdocs/test.py

(localhost-access.log)
127.0.0.1 - - [11/Feb/2016:14:24:39 -0800] "GET /test.py HTTP/1.1"
500 528

我甚至不知道该怎么做。

2 个答案:

答案 0 :(得分:1)

可能是Apache无法找到python解释器。你应该确保文件中的shebang是正确的。测试您是否可以从其他文件夹运行该文件。

答案 1 :(得分:0)

确保在代码中添加shebang。

并检查您的脚本权限。它应该是可执行的。

要在Linux中将文件权限更改为可执行文件:chmod + x filename.py

我不知道窗户。