这是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
我甚至不知道该怎么做。
答案 0 :(得分:1)
可能是Apache无法找到python解释器。你应该确保文件中的shebang是正确的。测试您是否可以从其他文件夹运行该文件。
答案 1 :(得分:0)
确保在代码中添加shebang。
并检查您的脚本权限。它应该是可执行的。
要在Linux中将文件权限更改为可执行文件:chmod + x filename.py
我不知道窗户。