0

OS X 10.6 で CGIHTTPRequestHandler とともに http.server を使用していますが、run_cgi() の posix コード パスが正しく機能していないようです。フォーム送信から /cgi-bin/test.py にある を呼び出しています。

今日の午後の大部分で、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 に答える