2010-12-09 74 views
0
之间切换

我目前正在朝着我所有的Python CGI脚本到WSGI标准使用Flup(http://trac.saddi.com/flup),我创建了一个dispatch.fcgi文件调用和使用Flup如文档中描述:FCGI和CGI Python和Flup

from flup.server.fcgi import WSGIServer 
... 

并且像魅力一样工作,当我尝试切换到CGI以在非缓存模式下调试某些内容时,出现问题,避免终止进程或触摸文件,这应该与替换Flup服务器以导入:

from flup.server.cgi import WSGIServer 
... 

但是然后浏览器ret给我一个500错误,我检查了通过SSH执行的头文件和html,似乎没问题,然后我想应该是一些服务器配置错误(Dreamhost共享),并且我发现服务器无法使用.fcgi扩展名执行Python脚本,所以我找到了一个解决办法增加这.htaccess文件:

AddHandler cgi-script .fcgi 

那么CGI模式几乎工程(wsgi.input总是空的,甚至读它在一个正确的方式传递长度),但FCGI缓存不工作起来,开始了很多过程。在这一刻,我完全陷入僵局,我只想从FCGI切换到CGI,这种方法是否有效?或者我错过了什么?

非常感谢。

回答

1

FCGI协议与CGI不同。这就是为什么从FCGI到CGI的简单更改不起作用,并且在将Apache .fcgi文件处理程序更改为CGI处理程序时,FCGI不起作用。

+0

我知道有不同的协议,但在WSGI下都应该以相同的方式工作,至少我明白这是WSGI的基本原理,统一所有协议在同一个包装下。如果Flup无法处理CGI,为什么Flup的CGI模块?有很多人以这种方式使用它... – mkotechno 2010-12-10 05:43:31