0

我在 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 成功了吗?

非常感谢,克里斯

4

1 回答 1

-2

为什么要用 Python 编写 CGI 脚本,然后使用 Python Web 服务器进行 CGI 调用!?谈论迫使骆驼穿过针眼。

而是直接从 Python 调用 Python 方法。使用 Python 3.2 甚至应该有一个参考 WSGI 实现。或者你可以看看瓶子框架,它支持 Python 3。

于 2011-02-19T07:59:55.340 回答