我创建了一个工作正常的 CGIHTTPServer,问题是无论我做什么,python 页面都不会呈现,源代码总是显示在浏览器中。
pyhttpd.py
#!/usr/bin/python
import CGIHTTPServer
import BaseHTTPServer
class Handler(CGIHTTPServer.CGIHTTPRequestHandler):
cgi_directories = [""]
PORT = 8080
httpd = BaseHTTPServer.HTTPServer(("", PORT), Handler)
print "serving at port", PORT
httpd.serve_forever()
cgi-bin/hello.py
#!/usr/bin/python
print 'Content-Type: text/html'
print
print '<html>'
print '<head><title>Hello</title></head>'
print '<body>'
print '<h2>Hello World</h2>'
print '</body></html>'
http://some.ip.address:8080/cgi-bin/hello.py:
#!/usr/bin/python
print 'Content-Type: text/html'
print
print '<html>'
print '<head><title>Hello</title></head>'
print '<body>'
print '<h2>Hello World</h2>'
print '</body></html>'
我已将所有文件的权限设置为可执行,.html 文件呈现正常,即使将文件移回服务器运行的根文件夹也没有区别,我尝试以 root 和另一个普通用户身份运行,正是相同的结果。
尝试使用谷歌搜索“未呈现的 python 页面”,但没有发现任何有用的东西!
编辑
我也尝试过运行一个没有覆盖的更简单的服务器,但结果是相同的,pything 代码永远不会呈现:
pyserv.py
#!/usr/bin/python
from BaseHTTPServer import HTTPServer
from CGIHTTPServer import CGIHTTPRequestHandler
serve = HTTPServer(("",80),CGIHTTPRequestHandler)
serve.serve_forever()