Schrift
[thread]11772[/thread]

apache2 führt Scripte nur mit perl -w aus

Leser: 1


<< >> 10 Einträge, 1 Seite
Mdui
 2008-05-07 15:30
#109359 #109359
User since
2008-05-05
10 Artikel
BenutzerIn
[default_avatar]
Hallo zusammen!

Woran könnte das liegen, das mein Apache2 cgi und pl nur ausführt, wenn in der Shebang #! /usr/bin/perl -w steht. Sieht meine Shebang so aus: #! /usr/bin/perl dann wird das Script zum Download angeboten und nicht ausgeführt.
Jemand ne Idee?
renee
 2008-05-07 15:35
#109361 #109361
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Erstellst Du die Dateien vielleicht auf einem Windows-Rechner und lädst diese dann auf einen *NIX-Server hoch? Wenn ja, verwendest Du den ASCII-Modus?
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/
pq
 2008-05-07 15:38
#109363 #109363
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
nur ne idee: du hast das skript von windows aus hochgeladen, und das im binärmodus?
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Mdui
 2008-05-07 15:39
#109364 #109364
User since
2008-05-05
10 Artikel
BenutzerIn
[default_avatar]
ja mach ich, danke für den Tipp, mal gleich ausprobieren...

EDIT: Habs ausprobiert, Script auf Windowsmaschine erstellt, im ASCII Modus und in ASCII auf den Webserver geladen.
Trotzdem gleiches Verhalten.

EDIT 2: Habe das Problem gelöst. Der FTP-Server hat den Upload als ASCII nicht akzeptiert. Jetzt läufts.
GwenDragon
 2008-05-27 00:26
#110327 #110327
User since
2005-01-17
14578 Artikel
Admin1
[Homepage]
user image
Das Problem der Zeilenenden ist eine ganz böse Falle.
Manchmal konvertieren die Programme, welche Hochladen eben nicht die Zeilenenden.

Ich bin heute auch über ein Script gestolpert, dass sich immer brav mit
perl -cw meinskript.pl kompilieren ließ, aber dann vom Webserver nicht ausgeführt wurde.
Und selbst im Serverlog ist dann nichts zusehen.

Bis ich mir mal mit od -c meinskript.pl das ganze anschaute. Und dann waren überall \r\n drin.

Warum allerdings mit dem Shebang #!/usr/bin/perl -w das ganze geht, ist mir rätselhaft.
die Drachin Gwendolyn
pq
 2008-05-27 01:26
#110333 #110333
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
GwenDragon+2008-05-26 22:26:08--
Warum allerdings mit dem Shebang #!/usr/bin/perl -w das ganze geht, ist mir rätselhaft.

hatte ich dir im irc erklärt: ohne -w versucht das system, ein binary namens /usr/bin/perl\r
aufzurufen. das existiert nicht (oder selten...).
mit -w wird der interpreter korrekt aufgerufen, das \r nach dem -w einfach ignoriert.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
GwenDragon
 2008-05-27 17:18
#110370 #110370
User since
2005-01-17
14578 Artikel
Admin1
[Homepage]
user image
@pq
ich habe keinerlei Message von dir im IRC bekommen. Du warst auf einmal offline.

Dass der Interpreter mit \r\n keine korrekte Zeile bekommt, ist mir klar. Meine Frage war nur, warum es mit -w richtig geht?
Wirft Perl einfach ungültige Zeichen im Schalter -w weg?
Allerdings hat -w einen Nachteil. Dann gibt es immer überall Warnungen (auch da wo es nicht sein soll), weil ja sozusagen Warnings global an ist.

Muss eine halt aufpassen. Manchmal haben fremde zu pflegende Programme auch Ärgernisse.
die Drachin Gwendolyn
pq
 2008-05-27 17:20
#110371 #110371
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
GwenDragon+2008-05-27 15:18:10--
@pq
ich habe keinerlei Message von dir im IRC bekommen. Du warst auf einmal offline.

das warst du, kann moritz bestätigen.
nimm irssi als irc-client.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
renee
 2008-05-27 17:23
#110373 #110373
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
GwenDragon+2008-05-27 15:18:10--
Wirft Perl einfach ungültige Zeichen im Schalter -w weg?

Ja, hinter den Schaltern wird das \r einfach wegrationalisiert...
Quote
Allerdings hat -w einen Nachteil. Dann gibt es immer überall Warnungen (auch da wo es nicht sein soll), weil ja sozusagen Warnings global an ist.


Kannst ja auch einen anderen Schalter (z.B. -T) nehmen ;-)
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/
GwenDragon
 2008-05-27 17:29
#110374 #110374
User since
2005-01-17
14578 Artikel
Admin1
[Homepage]
user image
Ja, -T ist gut. Dann weiß eine, dass ein Skript völlig unischer ist, wenn es nicht läuft ;)
die Drachin Gwendolyn
<< >> 10 Einträge, 1 Seite



View all threads created 2008-05-07 15:30.