Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]5431[/thread]

Probleme mit pl-Datei

Leser: 1


<< |< 1 2 >| >> 13 Einträge, 2 Seiten
Dareios
 2004-08-07 16:03
#48914 #48914
User since
2004-08-06
8 Artikel
BenutzerIn
[default_avatar]
Ich habe Apache 1.3.26 und ActivePerl 5.6.1 installiert. Jetzt habe ich das hallowelt-Script in einer pl-Datei (im Verzeichnis cgi-bin) gespeichert und wollte es über eine htm-Seite aufrufen. Jedoch bekomme ich die Fehlermeldung Internal Server Error. In Error.log steht "couldn't spawn child process: c:/apache/cgi-bin/hwelt.cgi".

Was kann ich jetzt tun?

Schon mal Dank im voraus.

Dareios
format_c
 2004-08-07 16:07
#48915 #48915
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Ich denke, dein Shebang ist nicht korrekt. Wo ist denn dein Perl installiert?

Auf Windows muss ein solches "HalloWelt Skript ungefähr so aussehen:
Code: (dl )
1
2
3
4
5
6
7
8
#!c:/perl/bin/perl.exe
use strict;
use warnings;

#HTTP-Header nicht vergessen!
print "Content-type: text/plain\n\n";
print "Hallo Welt";
exit;


Gruß Alex
format_c
 2004-08-07 16:35
#48916 #48916
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Moment wie du hast es in einer pl-Datei gespeichert? also hwelt.pl. Aufrufen tust du aber hwelt.cgi Oder hab ich was falsch verstanden.

Abgesehen, davon kommt die Fehlermeldung IMHO trotzdem von der Shebang.

Gruß Alex
betterworld
 2004-08-07 17:06
#48917 #48917
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Wenn der shebang kaputt ist, sagt der Apache 1 meiner Erfahrung nach eigentlich immer nur "Premature end of script headers". Bei Apache 2 kommt dann noch ein "Exec failed" oder "No such file or directory" hinzu.
Dareios,vorhin
und wollte es über eine htm-Seite aufrufen

Wie meinst Du das mit der htm-Datei? Geht es vielleicht um SSI?\n\n

<!--EDIT|betterworld|1091884068-->
Dareios
 2004-08-07 17:49
#48918 #48918
User since
2004-08-06
8 Artikel
BenutzerIn
[default_avatar]
Ich hab dieses Codebeispiel von http://www.page-workshop.de/CGI-Perl/Tutorial/Start.htm

Der Pfad zu Perl.exe stimmt schon. Ich bräuchte nur einen kleinen Schups und ein erstes Erfolgserlebnis.

Dareios
Ishka
 2004-08-07 17:53
#48919 #48919
User since
2003-08-04
771 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Wie rufst du das Script denn genau auf?
sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t]
"if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep
!$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1}
Dareios
 2004-08-07 17:55
#48920 #48920
User since
2004-08-06
8 Artikel
BenutzerIn
[default_avatar]
So wie es auf dieser Tutorial-Seite beschrieben ist:

<html><head></head><body>
<a href="/cgi-bin/HWelt.pl">Hallo Welt zeigen</a>
</body></html>

Dareios
renee
 2004-08-07 19:05
#48921 #48921
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=betterworld,07.08.2004, 15:06]Wenn der shebang kaputt ist, sagt der Apache 1 meiner Erfahrung nach eigentlich immer nur "Premature end of script headers". Bei Apache 2 kommt dann noch ein "Exec failed" oder "No such file or directory" hinzu.
Dareios,vorhin
und wollte es über eine htm-Seite aufrufen

Wie meinst Du das mit der htm-Datei? Geht es vielleicht um SSI?[/quote]
Nein, wenn die Shebang nicht stimmt, dann kommt die von Dareios beschriebene Fehlermeldung...

@Dareios: Schau mal in der httpd.conf vom Apache mal nach, welche Shebang erwartet wird. Das kann - wenn ich mich richtig erinnere - auch zu nem Problem werden, wenn die in der Config nicht stimmt...
auszug httpd.conf
Quote
#
# Apache parses all CGI scripts for the shebang line by default.
# This comment line, the first line of the script, consists of the symbols
# pound (#) and exclamation (!) followed by the path of the program that
# can execute this specific script. For a perl script, with perl.exe in
# the C:\Program Files\Perl directory, the shebang line should be:

#!c:/wampp1/perl/bin/perl


Hier musst Du die Shebang anpassen
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Dareios
 2004-08-07 22:59
#48922 #48922
User since
2004-08-06
8 Artikel
BenutzerIn
[default_avatar]
Danke für den Rat, ich hab jetzt in der Konfigurations-Datei den Eintrag geändert und c:\perl angegeben, dem Verzeichnis, in dem sich Perl befindet, aber leider funktioniert es immer noch nicht. Ich bekomm noch immer den Internal Server Error.

Dareios
Dareios
 2004-08-07 23:11
#48923 #48923
User since
2004-08-06
8 Artikel
BenutzerIn
[default_avatar]
Juhu, :-)

Ich habe das Verzeichnis Perl in usr umbenannt, das habe ich irgendwo gefunden. Und schon erschiend "Hello World".

Jetzt kann ich mich endlich auf in die Programmierung machen.

Vielen Dank euch allen.

Dareios
<< |< 1 2 >| >> 13 Einträge, 2 Seiten



View all threads created 2004-08-07 16:03.