Pythonskript über Apache ausgeben, sehr einfaches Skript

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
mysticds
User
Beiträge: 6
Registriert: Freitag 20. April 2007, 08:04

Pythonskript über Apache ausgeben, sehr einfaches Skript

Beitragvon mysticds » Freitag 20. April 2007, 08:14

Hallo Zusammen!

Ich muß für eine kleine Vorführung ein Pythonskript im Firefox anzeigen. Ist dies möglich? Ich habe schon ein paar Skripte auf der Kommandozeile zusammengebaut aber mit der anzeige über den Apache klappt es nicht so recht.

Ich habe über yast das Python mit in den Apache eingebunden. Das Skript habe ich unter /srv/www/cgi-bin gelegt. Ich bekomme aber immer die nur Fehlermeldung, dass ich das Skript herunterladen kann. Als Beispiel hab ich ertsmal nur:

print "Hello World"

genommen.

Anschließend will ich es noch um eine Datenbankanbindung erweitern, was schon auf der Kommandozeile geklappt hat.

Hoffentlich könnt ihr mir etwas helfen, da ich kein riesen Framework brauche und haben möchte.

Danke!

MfG
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Freitag 20. April 2007, 15:59

Hallo mysticds, willkommen im Forum,

such doch im Forum nach CGI, sowas wurde schon oft gefragt.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Beitragvon Y0Gi » Samstag 21. April 2007, 02:50

Wenn es dir zum Download angeboten wird, wird es nicht korrekt von Python geparst. Dazu musst du die Shebang-Line in die erste Zeile setzen (`#!/usr/bin/env python` oder ggf. an das System angepasst) und Apache über dessen Config oder eine .htaccess (wenn erlaubt) mitteilen, dass Python Dateien mit der Endung .py interpretieren soll - etwa so:

Code: Alles auswählen

Options +ExecCGI
AddHandler cgi-script .py
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Sonntag 22. April 2007, 09:27

[wiki]Web-Skripte zum laufen bringen[/wiki] :lol:

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Beitragvon Y0Gi » Sonntag 22. April 2007, 11:27

jens hat geschrieben:[wiki]Web-Skripte zum laufen bringen[/wiki] :lol:

Der Edit-History nach warst *du* also derjenige, der den Titel verbrochen hat. "Laufen" schreibt man in dem Fall nämlich groß.
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Sonntag 22. April 2007, 12:00

Es steht dir frei das zu korrigieren :lol:

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Beitragvon Y0Gi » Sonntag 22. April 2007, 14:26

Wodurch dann alle Links darauf kaputt gehen? Nein, danke.
Benutzeravatar
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Beitragvon mitsuhiko » Sonntag 22. April 2007, 16:18

Habs umbenannt.
TUFKAB – the user formerly known as blackbird
mysticds
User
Beiträge: 6
Registriert: Freitag 20. April 2007, 08:04

Beitragvon mysticds » Montag 23. April 2007, 12:52

Danke, für die Tipps. Es hat alles geklappt!

So, hab einen Teil jetzt auch fertig. Hab ein einfaches Skript über das mod-python ausgeben lassen - jetzt ratet mal welches ;-)

[code=]
from mod_python import apache

def handler(req):
req.content_type = 'text/plain'
req.write(“Hello World!”)
return apache.OK
[/code]

soweit ist ja auch alles super, aber wenn ich ein

[code=]
use DBI
[/code]

am Anfang einbringe gibt es nur noch Fehlermeldungen. Es funktioniert bei mir aber in der Konsole. Mache ich da etwas grundsätzlich falsch? Wollte nämlich ein paar Zeilen aus der Datenbank auslesen und die dann in ein Array speichenr und dann ausgeben.

Danke für eure Antworten!
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Beitragvon Y0Gi » Montag 23. April 2007, 21:26

`use DBI;` ist kein Python, sondern Perl, und DBI ist das bekannte Perl-Modul für Datenbank-Konnektivität. Mir scheint, du hast da ein paar Tutorials durcheinander gewürfelt.
mysticds
User
Beiträge: 6
Registriert: Freitag 20. April 2007, 08:04

Beitragvon mysticds » Dienstag 24. April 2007, 06:41

Y0Gi hat geschrieben:`use DBI;` ist kein Python, sondern Perl, und DBI ist das bekannte Perl-Modul für Datenbank-Konnektivität. Mir scheint, du hast da ein paar Tutorials durcheinander gewürfelt.


HILFE HILFE!!! Selbstverblö.....

Da hast du recht. Ich wollte auch eigentlich

Code: Alles auswählen

import DB2


schreiben.
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Dienstag 24. April 2007, 07:46

Für ein "Hello World" würde ich die finger von mod_python lassen! Nimm ganz einfaches CGI, das dürfte reichen!

Wenn du Leute beeindrucken willst, dann zeig ihnen django :)

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
mysticds
User
Beiträge: 6
Registriert: Freitag 20. April 2007, 08:04

Beitragvon mysticds » Dienstag 24. April 2007, 08:04

jens hat geschrieben:Für ein "Hello World" würde ich die finger von mod_python lassen! Nimm ganz einfaches CGI, das dürfte reichen!

Wenn du Leute beeindrucken willst, dann zeig ihnen django :)


Ich wollte es nur mit dem mod_python testen. Beeindrucken will ich keinen. Es soll nur eine kleine Datenbankabfrage sein.
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Dienstag 24. April 2007, 08:33

Oben stand was von "kleine Vorführung", deswegen dachte ich...

Wie gesagt, lass besser die Finger von mod_Python und Co. Das macht für kleine Sachen keinen Sinn. Zum Entwickeln schon gar nicht. Es ist eigentlich nur für den performanten Produktiveinsatz gedacht...

Da es nicht das erste Mal ist, hab ich mal einen neuen FAQ Eintrag dazu geschrieben: [wiki]FAQ#IchHabProblemeMitModPython[/wiki] Wie immer: Bitte evtl. verbessern ;)

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
mysticds
User
Beiträge: 6
Registriert: Freitag 20. April 2007, 08:04

Beitragvon mysticds » Dienstag 24. April 2007, 09:08

jens hat geschrieben:Oben stand was von "kleine Vorführung", deswegen dachte ich...

Wie gesagt, lass besser die Finger von mod_Python und Co. Das macht für kleine Sachen keinen Sinn. Zum Entwickeln schon gar nicht. Es ist eigentlich nur für den performanten Produktiveinsatz gedacht...

Da es nicht das erste Mal ist, hab ich mal einen neuen FAQ Eintrag dazu geschrieben: [wiki]FAQ#IchHabProblemeMitModPython[/wiki] Wie immer: Bitte evtl. verbessern ;)


Danke für die "Aufklärung", dann wende ich mich mal dem CGI zu. im Faq ist das Wort nutzen falschgeschrieben nutzten ;-)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder