SSI geht nur mit XAMPP

Alles, was Perl betrifft, kann hier besprochen werden.

SSI geht nur mit XAMPP

Postby Bavarian » 03. April 2005 15:52

Hallo Leute,

Um meine CGI-Perl scripte zu testen habe ich auf meinen Rechner XAMPP installiert. Betriebssystem ist Win98SE!

Nun habe ich ein Problem mit den Aufruf eines CGI Schrips auf einen Server. Das lustige an der Sache ist das der Aufruf local einwandfrei funktioniert.
<--#exec cgi="/cgi-bin/counter.cgi"-->
Deiser Aufruf erzeugt auf den Server die Meldung:
[an error occurred while processing this directive]

Wenn ich das Script über einen Link aufrufe geht es aber.
Genau die exakt gleiche Fehlermeldung kann ich local simulieren wenn ich ein Script aufrufe das nicht existiert.

Die Berechtigungen auf den Server habe ich alle auf mindesten CHMOD 755 gesetzt. Ich habe sogar der 'shtml' Datei das diesen SSI Aufruf enthält die Berechtigung 755 gegeben.

Laut Provider müssen Perl Scripte im Verzeichnis /cgi-bin abgelegt werden und die Dateiendung CGI haben. Die erste Zeile des Scrips #!/usr/bin/perl müsste ja auch stimmen, sonst würde es nicht über einen Link funktionieren.

Der Provider ist E7even.com und er sagt ausdrücklich in seiner FAQ Page das der Server SSi unterstützt.

Welche Dinge könnte ich noch ausprobieren?

mfG
Bavarian
Bavarian
 
Posts: 3
Joined: 03. April 2005 15:29

Postby deepsurfer » 04. April 2005 07:31

Betriebssystem wrote:Um meine CGI-Perl scripte zu testen habe ich auf meinen Rechner XAMPP installiert. Betriebssystem ist Win98SE!

Welche XAMPP Version ? (zip/exe-zip/installer)


FEHLERAUSGABE wrote:Nun habe ich ein Problem mit den Aufruf eines CGI Schrips auf einen Server. Das lustige an der Sache ist das der Aufruf local einwandfrei funktioniert.
<--#exec cgi="/cgi-bin/counter.cgi"-->
Deiser Aufruf erzeugt auf den Server die Meldung:
[an error occurred while processing this directive]

Ist soweit ja auch richtig, würde es nicht funktionieren wäre absolut etwas falsch bei dir. 8)

UNKLAR AUSSAGE wrote:Wenn ich das Script über einen Link aufrufe geht es aber.
Genau die exakt gleiche Fehlermeldung kann ich local simulieren wenn ich ein Script aufrufe das nicht existiert.

Hier verstehe ich deine Vorgehensweise nicht, denn in beiden Fällen wird (MUSS) dir eine Fehlermeldung ausgegeben auf deinem Windowsserver.

AUF DEM WINDOWS RECHNER ?? wrote:Die Berechtigungen auf den Server habe ich alle auf mindesten CHMOD 755 gesetzt. Ich habe sogar der 'shtml' Datei das diesen SSI Aufruf enthält die Berechtigung 755 gegeben.

Der CHMOD Befehl ist bei Windows nicht möglich, da Windows diese Befehlstruktur zur Berechtigung von Dateien nicht kennt --> unterstützt

PROVIDER AUSSAGE wrote:Laut Provider müssen Perl Scripte im Verzeichnis /cgi-bin abgelegt werden und die Dateiendung CGI haben. Die erste Zeile des Scrips #!/usr/bin/perl müsste ja auch stimmen, sonst würde es nicht über einen Link funktionieren.

Das ist soweit auch richtig, in der Grundkonfiguration von XAMPP musst du dein CGI-Script in das \xampp\cgi-bin\ Verzeichniss hineinlegen.

Jetzt kommt die Auflösung deines Problems:
Dadurch das du einen Windowsserver benutzt ist die Anweisung in deinem Falle falsch.
#!/usr/bin/perl = #!\xampp\perl\bin\perl.exe

Begründung:
Zu 99 Prozent der Beschreibungen zu Perl gehen von einem Linuxserver, aus wo die Anweisung #!/usr/bin/perl richitg ist.

Provider FAQ wrote:Der Provider ist E7even.com und er sagt ausdrücklich in seiner FAQ Page das der Server SSi unterstützt.

Trifft soweit auch zu auf die vorgehensweise bei diesem Provider, der mit Linuxservern arbeitet.
XAMPP unterstützt standarmässig auch SSI, dadurch das dein Script einen Fehleraufweist hat Perl bisher nicht die möglichkeit gehabt überhaupt das Script auszuführen.

Welche Dinge könnte ich noch ausprobieren?

Wenn du deinen Windowsserver nicht ans Netz hängst und diesen wirklich nur als Probierserver benutzen möchtest, so rate ich dir das PERL-ADDON von XAMPP zu holen, denn dieses ADDON erweitert das vorhandene Perl um etliche Befehlsparameter.
Mit sicherheit wirst du im laufe der Zeit Fehlermeldungen über nicht vorhanden Module erhalten, daher dieses ADDON.
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
XAMPP Version: 5.6.3
Operating System: Win-XP / Win7 / Linux -Debian

Muss ich wohl das Perl Addon installieren...

Postby Bavarian » 04. April 2005 09:43

Der Aufruf local auf meinen Windows Rechner mit XAMPP funktioniert einwandfrei.

Das selbe Script (mit angepasster ersten Zeile) kann ich auf den Providerrechner (UNIX) über einen Link ohne Fehler starten. Nur ist ein Zähler der nur zählt wenn man ihn anclickt ziemlich sinnlos.
Ein Aufruf über <--#exec cgi="/cgi-bin/counter.cgi"--> führt nur auf den Server (UNIX) zur Fehlermeldung [an error occurred while processing this directive] !

Diese Fehlermeldung tritt also nicht nur auf wenn ein Problem des Servers mit den Filehandling besteht? Es kann also auch ein Fehler im Script vorliegen den die XAMPP Distribution tolerriet aber der Perl Interpreter des Servers nicht mehr?
Dann werde ich also das Perl Addon probieren und dann sehen ob ich den Fehler auch local simulieren kann.

Zur Zeit ist auf meinen Rechner installiert XAMPP Win Installer 1.4.32 mit Patch 1.4.12-pl1. Betriebssystem Win 98SE

mfG
Bavarian

PS. Falls es jemanden interessiert. Die Webseite die ich programmiere hat den Link: http://www.ninaludwig.co.uk
Das 'guestbook' auch ein Perl script funktioniert einwandfrei;-)
Bavarian
 
Posts: 3
Joined: 03. April 2005 15:29

Postby Wiedmann » 04. April 2005 09:57

Ein Aufruf über <--#exec cgi="/cgi-bin/counter.cgi"--> führt nur auf den Server (UNIX) zur Fehlermeldung [an error occurred while processing this directive] !

Als Alternative könntest du folgendes versuchen:
Code: Select all
<!--#include virtual="/cgi-bin/counter.cgi" -->
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Danke das wars!

Postby Bavarian » 05. April 2005 08:26

<!--#include virtual="/cgi-bin/counter.cgi" -->
Danke das war die Lösung :)

Meine Kenntnisse über SSI habe ich aus SELFHTML. Kann mich jetzt nicht erinnern das dort diese Art eines Scriptaufrufes beschrieben wird.

Gibt es im Internet ein Projekt so wie SELFHTML aber für Perl? SELFPERL sozusagen. Mir wären sogar englische Seiten willkommen.

Nochmals vielen Dank für die Lösung :D

mfG
Bavarian
Bavarian
 
Posts: 3
Joined: 03. April 2005 15:29


Return to Perl

Who is online

Users browsing this forum: No registered users and 1 guest