Flask: Fehler beim Ausführen der .cgi Datei

Django, Flask, Bottle, WSGI, CGI…
Antworten
Lasse
User
Beiträge: 112
Registriert: Donnerstag 3. Februar 2011, 18:25

Hallo,

ich versuche mein Flask Projekt auf dem Server über CGI auszuführen. Wenn ich die CGI-Datei starte erhalte ich folgende Fehlermeldung:

Code: Alles auswählen

Traceback (most recent call last):
  File "/usr/lib/python2.7/wsgiref/handlers.py", line 85, in run
    self.result = application(self.environ, self.start_response)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1836, in __call__
    return self.wsgi_app(environ, start_response)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1812, in wsgi_app
    ctx = self.request_context(environ)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1773, in request_context
    return RequestContext(self, environ)
  File "/usr/local/lib/python2.7/dist-packages/flask/ctx.py", line 224, in __init__
    self.url_adapter = app.create_url_adapter(self.request)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1602, in create_url_adapter
    server_name=self.config['SERVER_NAME'])
  File "/usr/local/lib/python2.7/dist-packages/werkzeug/routing.py", line 1169, in bind_to_environ
    server_name = environ['SERVER_NAME']
KeyError: 'SERVER_NAME'
Status: 500 Internal Server Error
Content-Type: text/plain
Content-Length: 59
Python Version: 2.7
Betriebssystem: Ubuntu
Server: Apache 2

Woher kommt dieser Fehler und wie kann man ihn beheben?

Viele Grüße
Lasse
BlackJack

@Lasse: Wie versuchtst Du dass denn als CGI auszuführen und mit welchem Webserver?
Lasse
User
Beiträge: 112
Registriert: Donnerstag 3. Februar 2011, 18:25

Um erstmal zu testen ob das Programm mit CGI funktioniert starte ich die .cgi Datei über die Kommandozeile, die den gleichen Inhalt hat wie die in der Dokumentation http://flask.pocoo.org/docs/deploying/cgi/ (natürlich mit anderen Namen)
BlackJack

@Lasse: CGI funktioniert (auch) über Umgebungsvariablen, die der Webserver setzt bevor er das CGI-Programm ausführt. Die sind natürlich nicht gesetzt wenn Du das einfach so startest.
Antworten