PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache + cgi



MilleniumEli
27.02.02, 20:29
so, ich habe in mein cgi ordner n script reingetan! zum testen stand da einfach nur "echo hallo" drin! erstmal die frage: ist das script ok so? oder muss da noch was dazu?

wenn ich jetzt im browser die datei aufrufe bekomme ich nen internal server error (500)

in der error log steht das hier:
[Wed Feb 27 20:29:45 2002] [error] (8)Exec format error: exec of /var/www/cgi-bin/test.cgi failed
[Wed Feb 27 20:29:45 2002] [error] [client 192.168.0.2] Premature end of script headers: /var/www/cgi-bin/test.cgi

ist mein apache falsch konfiguriert oder ist mein script einfach so nicht lauffähig?

wd
27.02.02, 20:58
Hallo,

> ist das script ok so?

Das kann ich so nicht beurteilen, weil ich nicht weiss, ob es ein Shell- oder Perl-Script ist.

Bitte poste doch mal 3 Dinge:

- dein Script
- deine CGI-Einstellungen in der httpd.conf
- ls -l /var/www/cgi-bin/test.cgi (sprich: Dateirechte)

Erst dann können wir definitiv was dazu sagen.

MilleniumEli
27.02.02, 21:18
ok: das script ist wie gesagt:

echo hallo


mehr net. die rechte sehen so aus: rwxrwxrwx
da ich nicht weiss wo da noch was in der config mit cgi steht, poste ich einfach mal alles, was ich denke was damit zusammenhängen könnte :)

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
<Directory "/var/www/cgi-bin">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
AddHandler cgi-script .cgi


sonst sehe ich da nichts relevantes :(

wd
27.02.02, 21:29
Hi,

meine httpd.conf sieht so aus:

------------------------------
LoadModule cgi_module libexec/mod_cgi.so

AddModule mod_cgi.c

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

Action application/x-httpd-cgi "/usr/bin/perl"

Directory "/var/www/cgi-bin"
Options ExecCGI Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
AllowOverride None
/Directory
------------------------------

Der Eintrag: AddHandler cgi-script .cgi ist bei mir auskommentiert.

MilleniumEli
28.02.02, 17:16
auch wenn ich das so ändere kommt der 501er :(

nonameruler
28.02.02, 17:25
falls du linux hast musste die das cgi file auf 755 setzen ..

und das cgi script von dir zum testen is auch nen bissl komisch ...

probier mal dieses script und speicher es als test.cgi oder so ..



#!/usr/bin/perl
# da oben den pfad zu perl, allgeimein unter linux ist das unter /usr/bin/perl

print "Content-type: text/html\n\n";

print "Hallo was geht ?";


so da müsste dann im browser "Hallo was geht ?" stehen wenn du's richtig gemacht hast ..

nochwas: bist du der millenium vom ocinside board ?

MilleniumEli
28.02.02, 21:42
genau, ausm ocinsdide board :)

so, der script läuft! diese zeile
print "Content-type: text/html\n\n";
sagt dem perl das das ein text ist oder wie??
ich denke mal \n steht wie bei c für neue zeile oder?

wobei das passt jetzt alles nich mehr hier rein. gehört ja jetzt ins cgi forum :)

aber erklär mir jezt bitte jemand was der untershcied zwischen perl/cgi/php ist :)

nonameruler
01.03.02, 13:11
print "Content-type: text/html\n\n";

das sagt dem perl/cgi script das es als html ausgeben werden soll

das "\n" steht für neue zeile,absatz

perl/cgi und php sind verschiedene scriptsprachen, is ja klar ..
hmm was jetzt genau der unterschied zwischen perl und php ist kann ich nicht erklären ..