Apache installed, aber perl geht nicht??
Marc
- perl
0 RoRo0 Marc0 Cheatah0 Marc0 Frank Schönmann0 Marc0 Bernhard Peissl0 Marc
0 Frank Schönmann
Hallo Leute...
ich habe einen kleinen heim NT server aufgemacht, wo ich den code schreiben, damit ich nicht so lange online sein muss und auch ma testen kann ob alles geht... :-)
nun zu meinem problem:
um php unterstützung zu haben, hatte ich apache und php installed...
php-support und apache-webserver laufen ohne probleme... :-)
ich dachte dass bei apache schon perl unterstützung druff wär??
however, ich habe meine perl-scripts vom netz draufgeschmissen und nichts geht...
zuerst dachte ich der pfad zum interpreter wär falsch, aber die scripts liefen auch nach anderen pfdeingaben nicht... :-(
was mache ich falsch??
oder muss ich etwas perl auch noch installieren??
wenn ja, wo kriege ich die sachen her und wie mache ich das?? (kurz anleitung, da ich noch nie einen webserver aufgestellt habe, sonder immer nur nutzer war... *g*)
MFG Marc
Hi,
wenn ja, wo kriege ich die sachen her und wie mache ich das?? (kurz anleitung, da ich noch nie einen webserver aufgestellt habe, sonder immer nur nutzer war... *g*)
na dann fang mal am besten hier an: http://i-netlab.de/apache/apache.htm f.f.
Rolf
Hallo! :-)
zuerst ma danke für die hilfe... *g*
aber der apache webserver steht schon komplett konfiguriert... ;-)
des weiteren habe ich PHP support auch schon installed... :-)
na dann fang mal am besten hier an: http://i-netlab.de/apache/apache.htm f.f.
also wenn ich das perl-script ausführen will erhalte ich den error 500!
ich kann mir aber schon die version usw. anzeigen lassen...
#!c:/apache/perl/perl -v
nur die scripte laufen nicht...
die einstellungen von httpd.conf sind meines erachten nach wie oben beschrieben eingestellt...
MFG Marco
Hi,
also wenn ich das perl-script ausführen will erhalte ich den error 500!
das soll Dir sagen, daß der aktuelle Sinn Deiner Existenz ausschließlich darin besteht, das Error-Log des Servers zu konsultieren.
Cheatah
Hey! :-)
das soll Dir sagen, daß der aktuelle Sinn Deiner Existenz ausschließlich darin besteht, das Error-Log des Servers zu konsultieren.
*lol* guter komentar... :-)
...und hier haben wir die log datei:
[Fri Jun 08 15:05:48 2001] [error] [client 127.0.0.1] Premature end of script headers: /apache/cgi-bin/test.pl
[Fri Jun 08 15:05:48 2001] [error] [client 127.0.0.1] Can't locate perl5db.pl in @INC (@INC contains: .).
[Fri Jun 08 15:05:48 2001] [error] [client 127.0.0.1] BEGIN failed--compilation aborted.
was heisst das nun??
MFG Marc
hi!
[Fri Jun 08 15:05:48 2001] [error] [client 127.0.0.1] Premature end of script headers: /apache/cgi-bin/test.pl
[Fri Jun 08 15:05:48 2001] [error] [client 127.0.0.1] Can't locate perl5db.pl in @INC (@INC contains: .).
[Fri Jun 08 15:05:48 2001] [error] [client 127.0.0.1] BEGIN failed--compilation aborted.
was heisst das nun??
"Can't locate perl5db.pl in @INC".
Er kann keine Datei perl5db.pl finden, die irgendwo eingebunden wird
(per use oder require vermutlich?).
bye, Frank!
ich habe bei meinem script jedoch keine dateien eingebunden??
und auf dem anderen server läuft es perfekt... :-(
MFG marc
Grüssi!
Probier das script mal, wenns nicht geht, ist (a) mit der Perl-Installation was schiefgelaufen, oder (b) der Apache findet den Interpreter nicht!
#!C:/apache/perl/bin/perl -w
print "Content-type: text/html\n\n";
print "Surprise Surprise :o)";
Falls es immer noch nicht geht, dann führ das script auf der Kommandozeile mnit dem -w flag aus und poste die Fehler!
lg bernhard
Hallo Bernhard... *g*
Das war der eintscheidende tipp... *lol*
meine zeile lautete wie folgt:
#!c:/apache/perl/bin/perl -w
deine so....
#!C:/apache/perl/bin/perl -w
liegt bei dir die perö.exe etwa nichtin ./perl/bin?
was ist der unterschied?? *g*
das grosse C ! *lol* wenn man das c klein schreibt, kommt eine fehlermeldung... :-(
komisch... *g*
MFG Marco
Hi Marc!
was ist der unterschied?? *g*
das grosse C ! *lol* wenn man das c klein schreibt, kommt eine fehlermeldung... :-(
*fg* ja, das sind die Fehler, über deren Lösung man sich noch Jahre später alle Haare aufm Kopf ausreissen könnte!
Ehrlich gesagt hatte ich eher erwartet das fehlende /bin wär dein Problem, da es in deinem Posting nicht drinstand, aber naja, schwein gehabt kann ich da nur sagen ;-)
lg bernhard
Hi!
was ist der unterschied?? *g*
das grosse C ! *lol* wenn man das c klein schreibt, kommt eine fehlermeldung... :-(
Glaub ich nicht. Windows unterscheidet nicht zwischen Gross- und Kleinschreibung, auch nicht beim Laufwerksbuchstaben. Bist Du sicher, dass Du das /bin auch schon vorher drin hattest?
So long
Hallo! :-)
->mein interperter, also die perl.exe befindet sich in c:/apache/perl/ sowie in c:/apache/perl/bin...
in der readme.txt steht auch, dass man beide directories angeben kann... und es gehen auch beide... :-)
Ja, es ist schon komisch, wenn ich einen link angebe mit file://c:/test.htm oder file://c:/Test.htm dann ist das die selbe datei!
jedoch wenn ich beim apache server in der ersten zeile den interpreter eingebe, dann muss die location des interpreters mit einem gorssen C angegeben werden, sonst kommt bei mir ein error 500 wo etwas mit misconfiguration steht... bla bla bla...
...was wiederum witzig ist, wenn ich -v eingebe, kommt die version des interpreters ob es nun ein kleines oder grosses C hat...
also sprich: der perl code kann vom interpreter nur ausgeführt werden, wenn ein grosses C da steht...
ich habs mehrmals versucht, da ich es selbst nich glauben konnte...
MFG Marc
Hi!
Interessant. Ich finde das Verhalten hoechst merkwuerdig. Welche Version von Apache verwendest Du?
So long
hi!
oder muss ich etwas perl auch noch installieren??
Ja, musst du. Perl für Windows kannst du hier herunterladen:
http://aspn.activestate.com/ASPN/Downloads/ActivePerl/
Evtl. musst du danach in der Apache-Konfiguration (httpd.conf) noch
angeben, in welchen Verzeichnissen bzw. Dateien mit welche Endungen
als CGI-Programme auszuführen sind.
Die erste Zeile aller deiner Perl-Skripts muss dann folgendermaßen
aussehen:
#!/pfad/zu/perl
Wenn du ActivePerl in \usr auf der gleichen Platte wie deine Skripts
installierst, kannst du #!/usr/bin/perl wie auf den meisten Servern
verwenden. Ansonsten musst du diese Zeile vermutlich jedes mal
anpassen, wenn du ein Skript hochlädst.
bye, Frank!
Hallo,
Die erste Zeile aller deiner Perl-Skripts muss dann folgendermaßen
aussehen:
#!/pfad/zu/perl
Wenn du ActivePerl in \usr auf der gleichen Platte wie deine Skripts
installierst, kannst du #!/usr/bin/perl wie auf den meisten Servern
verwenden. Ansonsten musst du diese Zeile vermutlich jedes mal
anpassen, wenn du ein Skript hochlädst.
Unter Win kann man dem Apache, ein korrekt registriertes Perl vorausgesetzt, mitteilen, daß er den Interpreterpfad aus der Registry auslesen soll:
ScriptInterpreterSource registry
Damit kann man die Pfade der Shebangzeile unberührt lassen. Bis jetzt habe ich mit dieser Anweisung nur gute Erfahrungen gemacht (nicht ständiges Umschreiben der Pfade!)
Gruß AlexBausW