2010-12-09 12 views
0

ich zur Zeit meine Python alle CGI-Skripte zu bewegen bin Standard wsgi mit Flup (http://trac.saddi.com/flup), habe ich eine dispatch.fcgi Datei aufrufen und verwenden Flup wie in der Dokumentation beschrieben:Umschalten zwischen FCGI und CGI mit Python und Flup

und funktioniert wie ein Charme, kommt das Problem, wenn ich versuche, zu CGI zu wechseln, etwas im nicht gecached-Modus zu debuggen, Prozesse zu vermeiden oder Dateien zu berühren, sollte dies so einfach sein, wie den Flup-Server zu importieren :

from flup.server.cgi import WSGIServer 
... 

aber dann den Browser ret urns mich einen 500 Fehler, ich überprüfte die Header und HTML durch SSH ausgeführt und scheint in Ordnung zu sein, dann dachte ich, sollte einige Server Misconfiguration (Dreamhost freigegeben) und ich finde den Server nicht in der Lage, Python-Skripte mit .fcgi-Erweiterung auszuführen, so fand ich eine Abhilfe fügt diese Datei .htaccess:

AddHandler cgi-script .fcgi 

dann dem CGI-Modus fast funktioniert (wsgi.input immer leer ist, auch wenn es in der richtigen Weise zu lesen, die Länge vorbei) aber FCGI Caching nicht funktioniert überhaupt und startet viele Prozesse. In diesem Moment bin ich total deadlocked, ich möchte nur einen einfachen Weg von FCGI zu CGI wechseln, ist diese Methode gültig? oder ich vermisse etwas?

Vielen Dank.

Antwort

1

FCGI-Protokoll unterscheidet sich von CGI. Deshalb funktionierte der einfache Wechsel von FCGI zu CGI nicht und der FCGI funktionierte nicht, wenn der Apache .fcgi Dateihandler in den CGI-Handler geändert wurde.

+0

Ich weiß, dass es verschiedene Protokolle gibt, aber unter WSGI sollten beide auf die gleiche Weise funktionieren, zumindest verstehe ich das ist der Grundgedanke von WSGI, vereinheitlichen Sie alle Protokolle unter dem gleichen Wrapper. Wenn Flup nicht mit CGI umgehen kann, warum ist das CGI-Modul von Flup? Es gibt eine Menge Leute, die es auf diese Weise verwenden ... – mkotechno

+0

Theoretisch sollten die Skripts nach Ihren Aktionen im CGI-Modus funktionieren. Warum wissen sie nicht, ich weiß nicht, aber ich antworte, dass Sie nicht erwarten können, dass alle fcgi-Skripte als CGI funktionieren und umgekehrt. Es kann keinen einfachen Weg zum Wechseln geben, zumindest nicht den, den du versuchst. – edgars