Xitami Webserver + CGI Probleme
Johann Pluskal
Hallo Leute
Wer kann mir bitte bei meinen Problem folgender Art helfen:
Habe den Xitami Webserver installiert. Alles funktioniert wunderbar bis
auf die CGI Schnittstelle.
Wenn ich ein PerlScript starten moechte dann zwei moegliche Fehler:
Wer kann helfen ??
Ich bedanke mich im voraus fuer eure Antworten....
mfg Pluskal
Wenn ich ein PerlScript starten moechte dann zwei moegliche Fehler:
- PerlScript wird im Browser angezeigt
- Browser will das PerlScript downloaden.
Wer kann helfen ??
Hallo Johann!
Ich habe bei mir zu Hause auch den Xitami laufen. Das obige Phänomen
tritt bei mir dann auf, wenn in den (PerlOderWasAuchImmer-) Skripten
eine Kommentarzeile mit der Angabe des Interpreters fehlt.
Versuch mal, in die allererste Zeile Deiner Skripte folgendes hineinzuschreiben:
#!perl
Falls dies nicht funktioniert, versuche, den Perl-Interpreter mit in PATH aufzunehmen,
oder - was allerdings eher nervt - den kompletten Pfad anzugeben, also
#!c:\bin\perl.exe
oder so ähnlich (Bei mir geht es ohne Pfadangabe).
Ansonsten muß man darauf achten, daß
Viele Grüße
Andreas Bierhals
hi!
Falls dies nicht funktioniert, versuche, den Perl-Interpreter mit in PATH aufzunehmen,
oder - was allerdings eher nervt - den kompletten Pfad anzugeben, also
#!c:\bin\perl.exe
Perl für Win32 beachtet die Angabe des Pfades in dieser Zeile nicht, sondern nur die Parameter, die dort angegeben werden.
Ansonsten muß man darauf achten, daß
- die Dateiendung *.pl unter Windows mit dem Perl-Interpreter asoziiert ist,
Na, da wäre ich mir nicht so sicher. Manche Server haben bereits einen internen Perl-Interpreter.
- die Skripte in einem cgi-Verzeichnis stehen.
Hängt vom Server ab.
bye, Frank!
Na, da wäre ich mir nicht so sicher. Manche Server haben bereits einen internen Perl-Interpreter.
- die Skripte in einem cgi-Verzeichnis stehen.
Hängt vom Server ab.
Hallo Frank und Johann!
Ich hab' nochmal im WWW geguckt: Eine genaue Anleitung für CGI's
unter Xitami für Win95/NT findet sich in
http://www.imatix.com/html/xitami/index5.htm.
Demnach kommt es insbesondere auf die 1. Zeile mit dem "#!..." in den Skripten an,
die unter Win95/NT tatsächlich vom Server abgefragt wird (hab's selbst
versucht - sobald man die Zeile wegläßt, will er das Skript zum Download
zurückschicken).
Der Xitami-Server hat ansonsten kein eingebautes Perl - dessen
Komplettinstallation paßt dafür aber gezippt auf eine Diskette...
Viele Grüße!
Andreas Bierhals
Hallo Frank und Johann!
Hallo
Ich hab' nochmal im WWW geguckt: Eine genaue Anleitung für CGI's
unter Xitami für Win95/NT findet sich in
http://www.imatix.com/html/xitami/index5.htm.
Danke, aber diese HTML Seiten sind bereits beim Download von Xitami dabei.
(Hab ich schon angeschaut)
Demnach kommt es insbesondere auf die 1. Zeile mit dem "#!..." in den Skripten an,
Laut Beschreibung ja. Habe verschiedene Kombinationen probiert:
#! d:\perl\bin\perl.exe oder #! d:\perl\bin oder #!d:\perl\bin\ ......
Leider kein Erfolg.
Die Scriptdateien mit der Endung pl sind mit dem Perl Interpreter asoziiert.
(Scripte stehen im cgi-bin Verzeichnis)
die unter Win95/NT tatsächlich vom Server abgefragt wird (hab's selbst
versucht - sobald man die Zeile wegläßt, will er das Skript zum Download
zurückschicken).
Bei mir melden die Browser (MSIE,Netscape) das der >>Mime<< Typ unbekannt
ist. Vielleich liegt dort der Fehler ?
Mich würde interesieren die Mime-Einstellung unter Windows für die pl Dateien.
(Explorer-->Ansicht-->Optionen-->Dateitypen)
Momentan habe ich bei mir text/html eingestellt. Das ergibt zumindest einen
Teilerfolg beim MSIE (kein Download)
Bin schon ganz kopflos...
Ciao Pluskal
hi!
#! d:\perl\bin\perl.exe oder #! d:\perl\bin oder #!d:\perl\bin\ ......
Leider kein Erfolg.
Normalerweise ist diese Zeile unter Windows ohne Belang. Versuch es mal auf jeden Fall ohne das Leerzeichen nach # und mit / statt .
Mich würde interesieren die Mime-Einstellung unter Windows für die pl Dateien.
(Explorer-->Ansicht-->Optionen-->Dateitypen)
Die MIME-Typen für den Webser lassen sich normalerweise auch im Webserver einstellen, nicht in den Optionen für Windows.
Momentan habe ich bei mir text/html eingestellt. Das ergibt zumindest einen
Teilerfolg beim MSIE (kein Download)
text/html als MIME-Typ für Perl-Skripts? Sehr witzig. Der korrekte Typ ist application/x-perl.
bye, Frank!
hi!
Ebenfalls hi
Normalerweise ist diese Zeile unter Windows ohne Belang. Versuch es mal auf jeden Fall ohne das Leerzeichen nach # und mit / statt .
Leider kein Erfolg.
Bekomme nur folgende Fehlermeldung:
Unknown File Type
You have started to download a file of type */*
Click "More Info.....
text/html als MIME-Typ für Perl-Skripts? Sehr witzig. Der korrekte Typ ist application/x-perl.
War halt ein Versuch. Habe aber bereits wieder umgestellt auf application/x-perl.
bye, Frank!
bye Pluskal
Hi Leute
Danke für eure Hilfe bzw den Tips.
Meine CGI Schnittstelle funktioniert jetzt auf zwei Webservern.
(Xitami und OmniHTTPd). :-) jetzt lacht er
Hab zum Schluß bei jeden Server Mimetype application/x-perl angeben
und mein Testscript nochmals bearbeitet.
Naja jedenfalls jetzt gehts.
Danke nochmals
Gruss Pluskal
Hallo!
Ich hab's gerade nochmal an einem richtigen Perl-Skript getestet:
Es reicht für Xitami definitiv aus, in die 1. Zeile
#!perl
zu schreiben (ohne Pfad, ohne Leerzeichen).
Die Dateiendung der Skripte ist egal, ich konnte die Datei
z.B. von *.pl auf *.blupp umbenennen, und es funktionierte trotzdem.
Damit ist auch die Windows-Assoziation der Dateiendung vom Tisch
(womit ich auch wieder mal was dazugelernt habe<g>).
Wichtig ist nur, daß das perl-Programm im Suchpfad steht
(muß bereits in Autoexec.bat in PATH geschrieben werden!).
Mit anderen Worten, man muß z.B. aus einer DOS-Box jederzeit
"perl" aufrufen können, dann kann auch der Server perl finden.
Andere Frage, welche Xitami-Version benutzt Du eigentlich?
Viel Erfolg und Viele Grüße!
Andreas
Hallo!
Hallo
Ich hab's gerade nochmal an einem richtigen Perl-Skript getestet:
Es reicht für Xitami definitiv aus, in die 1. Zeile
#!perl
zu schreiben (ohne Pfad, ohne Leerzeichen).
»» Die Dateiendung der Skripte ist egal, ich konnte die Datei
z.B. von *.pl auf *.blupp umbenennen, und es funktionierte trotzdem.
Damit ist auch die Windows-Assoziation der Dateiendung vom Tisch
(womit ich auch wieder mal was dazugelernt habe<g>).
Wenns nur bei mir so wäre... :-)
Wichtig ist nur, daß das perl-Programm im Suchpfad steht
(muß bereits in Autoexec.bat in PATH geschrieben werden!).
Mit anderen Worten, man muß z.B. aus einer DOS-Box jederzeit
"perl" aufrufen können, dann kann auch der Server perl finden.
Bei der Installation des Perl-Interpreters wurde der PATH in die
autoexec.bat eingetragen.
Das heisst, wenn ich die DOS Box öffne kann ich unter jeden Verzeichnis
Perl aufrufen. Z.B unter c:\windows (Perl ist bei mir in Laufwerk D installiert)
Ich glaube zu 99,3 % das ich den Perl-Interpreter richtig installiert.
Am besten wird sein alles neu installieren oder anderen Server verwenden.
(z.B OmniHTTPd)
Andere Frage, welche Xitami-Version benutzt Du eigentlich?
Version 2.4b
Viel Erfolg und Viele Grüße!
Danke
Tschüss Pluskal
Hallo Johann,
Wenn ich ein PerlScript starten moechte dann zwei moegliche Fehler:
- PerlScript wird im Browser angezeigt
- Browser will das PerlScript downloaden.
So funktioniert's bei mir unter Win95 definitiv:
1. in jedem Perl-Script in der ersten Zeile:
#!/www/perl/bin/perl.exe
(ist der Pfad zum Perl-Interpreter. Interpreter und Scripts liegen auf dem gleichen Laufwerk)
2. Perl-Script im cgi-local-Verzeichnis von Xitami ablegen, am besten mit der Dateiendung *.pl
3. Relevante Einstellungen in der Datei xitami.cfg (sind eigentlich auch die Defaults):
[Server]
cgi-url=/cgi-bin
[CGI]
workdir=cgi-bin
dirlist=0
debug=0
http-fields=1
http-prefix=HTTP_
form-fields=1
form-prefix=FORM_
form-query=0
environment=1
errlog=cgierr.log
full-name=1
exit-ok=0
mixed-url=1
timeout=60
monitor=200
msdos-style=0
stdio=1
4. Script aufrufen mit http://127.0.0.1/cgi-bin/script.pl
viele Gruesse
Stefan Muenz
Hallo Johann,
Hallo
So funktioniert's bei mir unter Win95 definitiv:
Schön bei mir leider noch immer nicht.
- in jedem Perl-Script in der ersten Zeile:
#!/www/perl/bin/perl.exe
(ist der Pfad zum Perl-Interpreter. Interpreter und Scripts liegen auf dem gleichen Laufwerk)
Mein Testscript letzte Version:
#!D:/perl/bin/perl.exe
print "Content-type: text/html\n";
print "<html><head><title>Plusi CGI</title></head>";
print "<body>";
print "<h1>Test gelungen</h1>";
print "</body></html>";
Interpreter und Server liegen auf dem selben Laufwerk. (D)
Perlinterpreter ist mit pl Dateien asoziiert.
- Perl-Script im cgi-local-Verzeichnis von Xitami ablegen, am besten mit der Dateiendung *.pl
Script liegt im cgi-bin Verzeichnis. Dateiendung ist pl.
- Relevante Einstellungen in der Datei xitami.cfg (sind eigentlich auch die Defaults):
Meine Einstellungen in dieser Datei sind:
cgi-url=/cgi-bin # What defines a CGI URL?
cgi-bin=cgi-bin
[Win32]
16bit-cgi=1 # Support 16-bit CGIs?
secure=0 # Secure control panel?
service-name=Xitami # WinNT service name
service-text=Xitami Web Server # WinNT service description
[CGI]
enabled=1 # CGI programs enabled?
workdir=cgi-bin # Where CGI scripts run
wildcard=0 # Allow /cgi-bin anywhere in URL
dirlist=0 # Allow directory listings
debug=0 # Keep input and output files
http-fields=1 # Add HTTP_ header fields?
http-prefix=HTTP_ # If so, what prefix?
form-fields=1 # Add form fields to environment?
form-prefix=FORM_ # If so, what prefix?
form-query=0 # Pass form fields as QUERY_STRING?
environment=1 # CGI gets server environment?
errlog=cgierr.log # CGI stderr output
full-name=1 # Format SCRIPT_NAME with full path?
exit-ok=0 # Do we want an Ok exit code?
mixed-url=1 # Non-CGI files allowed?
timeout=60 # Timeout (seconds) for CGIs
monitor=200 # Monitor rate, milliseconds
msdos-style=0 # Use backslash in pathnames
stdio=1 # Use standard CGI input/output
[CGI-Environment]
# name=value
[CGI-Alias]
# demos=f:\html\demos # eg. http://xxxx/demos/someprog
* * * und das sind meine Schweissperln auf meiner Stirn :-)
Ich erhalte von jeden immer folgende Meldung. Mime Unbekannt bzw Datei downloaden....
grrr....
viele Gruesse
Ebenfalls viel Gruesse
Pluskal
hi!
Mein Testscript letzte Version:
#!D:/perl/bin/perl.exe
print "Content-type: text/html\n";
Hier fehlt ein \n:
print "Content-type: text/html\n\n";
print "<html><head><title>Plusi CGI</title></head>";
print "<body>";
print "<h1>Test gelungen</h1>";
print "</body></html>";
bye, Frank!