Schrift
[thread]3140[/thread]

couldn't spawn child process: Apache Konfiguration



<< >> 7 Einträge, 1 Seite
slide
 2005-03-31 16:13
#31036 #31036
User since
2005-02-15
6 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo,

ich habe heute morgen den apache 2.0.53 installiert, web-pages werden einwandfrei angezeigt aber er kann kein perl skript ausführen.
script alias stimmt, das file das ich ausführen will liegt auch darin.
im add handler habe ich noch .pl hinzugefügt. das letzte mal hats so auch wunderbar funktioniert.

die fehlermeldung lautet: Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request. ...

in der error.log erscheint folgendes:
[Thu Mar 31 13:41:34 2005] [error] [client 127.0.0.1] (OS 3)Das System kann den angegebenen Pfad nicht finden. : couldn't create child process: 720003: blub.pl
[Thu Mar 31 13:41:34 2005] [error] [client 127.0.0.1] (OS 3)Das System kann den angegebenen Pfad nicht finden. : couldn't spawn child process: C:/Programme/Apache Group/Apache2/cgi-bin/blub.pl

habe es auch schon mit der 1er version probiert, leider keinen erfolg gehabt.
kann mir jemand weiterhelfen?
danke im voraus!
Gruß
Matze
renee
 2005-03-31 16:25
#31037 #31037
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das sieht so aus, als wäre in der Shebang (erste Zeile des Skripts) der falsche Pfad zum Perl-Interpreter angegeben!

Was hast Du denn da stehen?? und wo liegt Dein perl?
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/
slide
 2005-03-31 16:35
#31038 #31038
User since
2005-02-15
6 Artikel
BenutzerIn
[Homepage] [default_avatar]
mein test-code:
#! /usr/bin/perl -w

use CGI::Carp qw(fatalsToBrowser);
use CGI;
my $cgi = new CGI;
print $cgi->header("text/html");
print "Hallo Welt!";

perl liegt auf einer anderen festplatte unter E:\Perl\bin.
in den umgebungsvariablen ist der pfad aber eingetragen.
Gruß Matze
[E|B]
 2005-03-31 16:46
#31039 #31039
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Der Pfad kann in PATH liegen, das spielt keine Rolle.
#! /usr/bin/perl ist nicht der Pfad zum Perl-Interpreter, sondern E:\Perl\bin. Du musst deshalb diesen Pfad nehmen.
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
slide
 2005-03-31 16:56
#31040 #31040
User since
2005-02-15
6 Artikel
BenutzerIn
[Homepage] [default_avatar]
jo, danke! das hab ich gleich geändert! daran hatte ich garnicht gedacht! nur leider erscheint jetzt eine andere fehlermeldung:
[Thu Mar 31 14:51:49 2005] [error] [client 127.0.0.1] (OS 5)Zugriff verweigert : couldn't create child process: 720005: blub2.pl
[Thu Mar 31 14:51:49 2005] [error] [client 127.0.0.1] (OS 5)Zugriff verweigert : couldn't spawn child process: C:/Programme/Apache Group/Apache2/cgi-bin/blub2.pl
renee
 2005-03-31 16:56
#31041 #31041
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
da fehlt noch das perl... Das muss E:\Perl\bin\perl heißen... Und in der httpd.conf muss das - glaube ich - auch noch eingetragen werden...

Edit: in der httpd.conf muss man das nicht eintragen... Aber um die shebang "auszuschalten" kann man die Registry in der .conf eintragen:

Auszug aus Selfhtml
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# Apache durchsucht grundsätzlich sämtliche CGI-Scripts nach einer "shebang"-Zeile.
# Diese Kommentarzeile, die immer die erste Zeile des Scripts sein muß, besteht
# aus der Raute (#) und einem Ausrufezeichen (!), gefolgt von der Pfadangabe für
# das Programm, das dieses spezielle CGI-Script ausführen soll.
#
# Beispiel:
# Sie möchten ein Perl-Script als CGI-Script ausführen lassen. Der Pfad zu Ihrer
# "perl.exe"lautet "C:\Perl\bin". Dann muß die "shebang"-Zeile folgendes Aussehen
# haben:
# #!C:/Perl/bin/perl.exe
#
# AUF GAR KEINEN FALL darf die aktuelle "shebang"-Zeile eingerückt werden, und es
# muß auch IMMER die erste Zeile in Ihrem Script sein. Selbstverständlich müssen
# Sie auch die Ausführung von CGI-Programmen durch Ihren Server zulassen, indem Sie
# entsprechende Script-Aliase vergeben oder die Anweisung "Options ExecCGI" für
# die infrage kommenden Dateien bzw. Verzeichnisse aktivieren.
#
# Apache kann unter WINDOWS entweder das eben beschriebene UNIX-Verhalten
# befolgen oder die registry nach Dateinamen-Erweiterungen durchsuchen. Der Befehl
# zum Ausführen einer Datei, deren Typ in der registry beschrieben ist, wird
# übernommen und mit derselben Methode abgearbeitet, mit der der WINDOWS-
# Explorer diesen Dateityp bei einem Doppelklick mit der Maustaste behandeln
# würde.
# Sie können unter WINDOWS selbst bestimmen, welches Programm für die
# Abarbeitung von bestimmten Dateinamen-Erweiterungen zuständig sein soll. Dazu
# öffnen Sie im WINDOWS-Explorer unter "Ansicht" die "Ordneroptionen", klicken
# dort auf die Registerkarte "Dateitypen" und legen in den sich öffnenden Dialogfenstern
# fest, welches Programm Apache beim Aufruf des ausgewählten Dateityps ausführen
# soll. Schlägt eine Programmausführung fehl, wird Apache versuchen, den "shebang"-
# Befehl zu befolgen.
# Dieses Verhalten soll in der Apache-Version 2.0 anders gestaltet werden.
#
# Jeder Mechanismus hat seine eigenen Sicherheitsrisiken, wenn Sie ein Programm
# von einer Webseite aus direkt aufrufen, aber nicht immer erst eine Sicherheitsabfrage
# beantworten möchten. Die Suche nach geeigneten risikolosen Methoden ist die
# Grundlage einer unendlichen Debatte.
#
# Um nun dieses spezielle WINDOWS-Verhalten zu erlauben (und den äquivalenten
# UNIX-Stil zu unterdrücken) entfernen Sie das Kommentarzeichen vor der nächsten
# Zeile.
#
#ScriptInterpreterSource registry
#
# Die eben gegebene Anweisung kann in einen individuellen <Directory>-Block oder in
# eine ".htaccess"-Datei geschrieben werden, entweder mit der Option 'registry'
# (Windows-Verhalten) oder 'script' (Unix-Stil), womit dann die Standardoption des
# Servers überschrieben würde.
# ----------------------------------------------------------------
\n\n

<!--EDIT|renee|1112274338-->
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/
slide
 2005-03-31 17:04
#31042 #31042
User since
2005-02-15
6 Artikel
BenutzerIn
[Homepage] [default_avatar]
ok, das wars! danke!
<< >> 7 Einträge, 1 Seite



View all threads created 2005-03-31 16:13.