Forum: PC-Programmierung Debian Lighttpd mod_cgi python - geht nicht!


von Hein Blöd (Gast)


Lesenswert?

Das doofe Ding will mir die .py Datei zuschicken, statt sie auszuführen. 
Wie kann man rausfinden, was da passiert?

Konfiguration
static-file.exclude-extensions = ( ".php", ".pl", ".py", ".fcgi" )
server.modules  += ( "mod_cgi" )
cgi.assign      = ( ".py" => "" )

Skript
#!/usr/bin/python
print "hello"

von Hein Blöd (Gast)


Lesenswert?

Hat sich erledigt. Das funktioniert, aber bekommt keinen mime-type 
zugeordnet.

von Stefan B. (stefan) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hein Blöd wrote:
> Hat sich erledigt. Das funktioniert, aber bekommt keinen mime-type
> zugeordnet.

Das musst du selber machen.

Und du hast einen sehr gutmütigen Webserver. Mein Webserver (Apache2) 
würde bei deinem Skript genau wegen dem fehlenden Content type kotzen 
(Internal Server Error...).

Das Selbermachen kannst du auf zwei Arten machen. Grundlage ist, dass 
die erste Ausgabe der MIME-Typ ist. Wichtig ist ein Zeilenumbruch 
(ggf. Leerzeile) zwischen diesem und dem folgenden Inhalt.

Variante 1 mit mehrzeiligem print
1
...
2
print """Content-type: text/html
3
4
<html>
5
...
6
"""

Variante 2 mit einzeiligem print
1
...
2
print "Content-type: text/html\n"
3
print "<html>"
4
...

Im Anhang noch ein IMHO sehr nützliches Skript explore.py zum Testen der 
Python-Umgebung auf dem Webserver
(Original aus der MoinMoin-Doku 
http://moinmoin.wikiwikiweb.de/HelpOnInstalling/ApacheOnLinuxFtp#head-2a666d03826e144f307a8e7029205c96eb499b0b 
oben das ist eine Testversion von mir, mit der ich REMOTE_USER 
herausfinden will, bin selbst am Basteln. Mein Teil ist auskommentiert)

von Hein Blöd (Gast)


Lesenswert?

Danke - merkwürdig ist allerdings, dass es auf einem anderen Server 
automatisch erledigt wird. Egal. Cooles Test-Skript.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.