Probleme mit Perl

Irgendwelche Probleme mit XAMPP für Linux? Dann ist hier genau der richtige Ort um nachzufragen.

Probleme mit Perl

Postby Odde » 22. June 2005 16:41

Hallo zusammen,

bin gerade auf ein weiteres Problem gestoßen. Wenn ich meine Perlscripte mit #!/usr/bin/perl ausführen möchte, muß ich ja zunächst einen Symbolischen Link anlegen. Dies habe ich wie folgt getan:

ln -s /opt/lampp/bin/perl /usr/bin/perl

bzw.

ln -s /opt/lampp/bin/perl5.8.6 /usr/bin/perl

Leider erhalte ich dann immer noch einen Fehler 500. Den vorherigen Link habe ich natürlich gelöscht, bzw. das bestehende File in /usr/bin/perl umbenannt /usr/bin/perl_suse.

Lasse ich in der ersten Zeile meines Scripts #!/opt/lampp/bin/perl stehen laufen alle Scripte perfekt. An was kann das liegen???

Möchte nicht alle meine 172 Scripte umbenennen. Bin für jede Hilfe dankbar.

Gruß Odde

P.S.: Den Alias für /cgi-bin/ habe ich übrigens auch in /system-cgi/ umbenannt um mein cgi-bin Verzeichnis wie normal nutzen zu können.
Odde
 
Posts: 10
Joined: 22. June 2005 13:38

Ergänzung

Postby Odde » 22. June 2005 16:56

Im Errorlog steht für alle Dateien, die mit Fehler 500 quitiert wurden folgender Eintrag:

[Wed Jun 22 17:47:45 2005] [error] [client 192.168.0.22] (2)No such file or directory: exec of '/opt/lampp/htdocs/cgi-bin/logo.pl' failed, referer: http://hlt-07/cgi-bin/index.pl
[Wed Jun 22 17:47:45 2005] [error] [client 192.168.0.22] Premature end of script headers: logo.pl, referer: http://hlt-07/cgi-bin/index.pl

Das komische ist nur alle Dateien existieren und sind mit den entsprechenden Rechten ausgerüstet. Und wie gesagt, wenn ich der ersten Scriptzeile:

#!/opt/lampp/bin/perl

eintrage laufen alle Scripte anstandslos. Ändere ich die erste Zeile wieder auf

#!/usr/bin/perl

laufen sie auch. Vorraussetzung ist aber, dass sie einmal mit

#!/opt/lampp/bin/perl

ausgeführt wurden. *kopfschüttel*

Hoffe mir kann jemand weiterhelfen.

Grüße Odde
Odde
 
Posts: 10
Joined: 22. June 2005 13:38

Postby deepsurfer » 22. June 2005 17:09

wenn auf der SuSE-kiste der ganze PERL-Interpreter Installiert ist, so ist es eigentlich egal welchen PERL-Pfad du in den Scripten vorgibst.

Habe das grad hier bei mir getestet.... ein script das im xampp-cgi liegt habe ich die erste zeile #/usr/bin/perl verpasst. (/opt/lampp/cgi-bin/printenv)

Auf meiner Linuxkiste den standart-apachen gestoppt und xampp hochfahren lassen.
Der aufruf des testscriptes von xampp (das printenv) funtkioniert auch mit dem PERL-Pfad von /usr/bin/perl

Ich bräuchte also keinerlei SymLINKs zu erstellen um via xampp-web-server auf die standart-Perl-Pfade zuzugreifen.

Was mich aber stutzig macht ist das du hingehst und den xampp als webserver benutzen möchtest, aber die umgebungsvariablen expliziet ausserhalb von xampp anlegen willst.
Desweiteren verstehe ich den Sinn (Gedankengang von dir) nicht warum du Pfade umbenennst die systemtechnisch von deinem SuSE gebraucht werden.
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby Odde » 22. June 2005 18:01

@deepsurfer

Auf der Susekiste ist Perl installiert, ist ja eigentlich standard....

Ich will Lampp nicht als Webserver im Internet nutzen sondern als einen lokalen Server für Entwicklungszwecke. Muß ein große Webanwendung umbauen und das geht im Produktivsystem nicht. Allerdings möchte ich, um mir arbeit und Fehlerquellen zu sparen sämtliche Pfade beibehalten.

Hab's bei mir mit besagtzem Script versucht und wieder Fehler 500 erhalten. Nutze ich #!/opt/lampp/bin/perl geht's wunderbar. Führe ich selbiges Script, auch nach einem Reboot unter #!/usr/bin/perl aus, so funzt es auch. Ich bekomm noch die Kriese.

Kann mir niemand weiterhelfen???
Odde
 
Posts: 10
Joined: 22. June 2005 13:38

Postby Odde » 22. June 2005 19:45

Noch ein Hinweis zu meinem Problem:

Wenn ich bei den Perlscripten in der Shebang #!/usr/bin/perl stehen habe und die Scripte in der Bash Shell via

perl scriptname.pl

aufrufe laufen sie ohne Murren. Will ich sie über http und lampp aufrufen, kommt es zu der besagten Fehlermeldung.

Gruß Odde
Odde
 
Posts: 10
Joined: 22. June 2005 13:38

Postby Wiedmann » 22. June 2005 21:08

Wenn ich bei den Perlscripten in der Shebang #!/usr/bin/perl stehen habe und die Scripte in der Bash Shell via
Code: Select all
perl scriptname.pl

aufrufe laufen sie ohne Murren.

Bei so einem Aufruf interessiert der Shebang nicht. Dazu musst du das Perl-Script direkt aufrufen.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Kristian Marcroft » 22. June 2005 21:52

Hi,

ich hätte nun gerne mal die ausgabe von ls -l im Verzeichnis cgi-bin.

So long
KriS
User avatar
Kristian Marcroft
AF Moderator
 
Posts: 2962
Joined: 03. January 2003 12:08
Location: Diedorf

Postby Odde » 22. June 2005 22:02

Hi,

ls -l gibt folgendes aus:
hugo:/opt/lampp/htdocs/cgi-bin # ls -l
total 16
drwxr-xr-x 2 root root 144 Jun 22 22:57 .
drwxr-xr-x 10 nobody root 448 Jun 22 22:57 ..
-rwxr-xr-x 1 root root 77 Jun 22 22:23 test.pl
-rwxr-xr-x 1 root root 77 Jun 22 22:57 test2.pl
-rwxr-xr-x 1 root root 77 Jun 22 22:57 test3.pl
-rwxr-xr-x 1 root root 77 Jun 22 22:57 test4.pl

Die Dateien enthalten alle folgenden Inhalt:
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Hallo Welt\n";

Gruß Odde
Odde
 
Posts: 10
Joined: 22. June 2005 13:38

Re: Probleme mit Perl

Postby Kristian Marcroft » 22. June 2005 22:14

Odde wrote:P.S.: Den Alias für /cgi-bin/ habe ich übrigens auch in /system-cgi/ umbenannt um mein cgi-bin Verzeichnis wie normal nutzen zu können.


So dann zeig uns mal was du da genau alles geändert hast.
insbesondere der Abschnitt ab:
<IfModule mod_cgid.c>

So long
KriS
User avatar
Kristian Marcroft
AF Moderator
 
Posts: 2962
Joined: 03. January 2003 12:08
Location: Diedorf

Postby Odde » 24. June 2005 08:20

Sorry, war gestern geschäftlich unterwegs, daher erst jetzt meine Antwort.

ScriptAlias /system-cgi/ /opt/lampp/system-cgi/

<IfModule mod_cgid.c>
#
# Additional to mod_cgid.c settings, mod_cgid has Scriptsock <path>
# for setting UNIX socket for communicating with cgid.
#
#Scriptsock logs/cgisock
</IfModule>

#
# "/opt/lampp/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/opt/lampp/system-cgi">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>


Das Verzeichnis /opt/lampp/cgi-bin habe ich auch in /opt/lampp/system-cgi umbenannt.

Gruß Stefan
Odde
 
Posts: 10
Joined: 22. June 2005 13:38

Postby Odde » 24. June 2005 17:12

Ok, es funktioniert in der Zwischenzeit. An was es lag kann ich nicht sagen. Hab einfach lampp nochmals installiert, nun geht es tadellos :-).

Gruß Stefan
Odde
 
Posts: 10
Joined: 22. June 2005 13:38

Postby deepsurfer » 24. June 2005 17:37

Könnte es sein das du die änderungen gemacht hast, aber den xampp nicht neu gestartet ?? /opt/lampp/lampp restartapache
denn ohne neustart kann er die änderungen nicht umsetzen.

Zusatzfrage:
Nachdem du xampp neu installiert hattest, hast du da auch die Änderungen wieder eingebaut oder erstmal so im standart laufen lassen ?
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby Odde » 25. June 2005 13:04

Ne, hab den Apache mehrmals neu gestartet und sogar den Rechner. Da ich den Apachen in rc5.d eingetragen habe wird dieser sowiso beim erreichen von Runlevel 5 automatisch gestartet. Das hat ja auch funktioniert. Naja, hauptsache er läuft jetzt :-).

Bin nun sehr zufrieden :-). Danke für die verschiedenen Hilfestellungen.
Odde
 
Posts: 10
Joined: 22. June 2005 13:38


Return to XAMPP für Linux

Who is online

Users browsing this forum: No registered users and 5 guests