我在 OS X 10.6 上将 http.server 与 CGIHTTPRequestHandler 一起使用,并且 run_cgi() 中的 posix 代码路径似乎无法正常工作。我正在从表单提交中调用位于 /cgi-bin/test.py 的 a。
在今天下午的大部分时间里,我在 os.execve() 第 1058 行收到错误“OSError: [Errno 2] No such file or directory”,但现在它们是“OSError: [Errno 8] Exec format error”。我已经改变了很多,我不确定不同错误的原因,但无论哪种方式 do_POST() 都不适合我。
$ ./demon-local.py
Serving HTTP on 0.0.0.0 port 8000
localhost - - [27/Oct/2010 21:24:39] "POST /cgi-bin/test.py HTTP/1.1" 200 -
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/http/server.py", line 1058, in run_cgi
os.execve(scriptfile, args, os.environ)
OSError: [Errno 8] Exec format error
localhost - - [27/Oct/2010 21:24:39] CGI script exit status 0x7f00
我在 pdb 中运行了代码,并没有发现变量 scriptfile、args 和 os.environ 有任何问题。一旦我到达调试器中的 os.execve 行,执行似乎就挂了,我必须按 ctrl-c 几次才能杀死所有东西。
这里有人使用内置的 CGIHTTPRequestHandler 成功了吗?
非常感谢,克里斯