现在在其他地方也提出了类似的问题.但是,我在那里尝试了建议的解决方案,但没有帮助.
我正在运行以下python CGI Web服务器:
#!/usr/bin/python
from BaseHTTPServer import HTTPServer
from CGIHTTPServer import CGIHTTPRequestHandler
serve = HTTPServer(("",80),CGIHTTPRequestHandler)
serve.serve_forever()
在“ cgi-bin”目录中,存储了以下php文件“ simple.php”:
#!/usr/bin/php
PHP Test<?php echo '
Hello World
'; ?>此文件已被授予可执行权限,并且仅从服务器上的命令行即可正确执行.
现在,如果我启动服务器并尝试使用“ http://server/cgi-bin/simple.php”访问该页面,我将得到一个空白页面,并且在服务器标准输出上看不到任何错误.
我查看了CGIHTTPServer.py的代码,并认为当派生一个进程执行cgi-bin并使用dup2处理文件描述符(stdin,stdout)时,可能会出现此问题.但是,我不知道如何使它工作.这个简单的事情困扰了我几个小时,非常感谢您提供任何帮助.
服务器计算机是ubuntu 9.04机器.