Ich habe xampp 1.6.0a per Installer installiert. Nun habe ich mir ein CGI Skript aus dem Internet geladen und in der cgi Datei den Pfad folgendermaßen angepasst:
#!C:/Programme/xampp/perl/bin/perl.exe
In meiner HTML Seite habe ich wie in der Readme die dem cgi Skript beilag, beschrieben folgende Zeile eingefügt:
<img src="C:/Programme/xampp/cgi-bin/usercounter.cgi" border=0 width=24 height=24 align=absmiddle> User online
Den Pfad habe ich manuell angepasst, damit er auf die cgi Datei zeigt.
Wenn ich nun die Webseite aufrufe, wird darauf nur das Zeichen für ein "kaputtes Bild" angezeigt. Egal, wie ich die Pfade geändert habe, nie klappt es.
Nach einigem Lesen im Netz bin ich immer noch nicht schlauer, habe aber das perl addon 5.8.8+2.4.4 installiert. Im Statuscheck des xampp ist es auch aktiviert. Aber ab hier weiss ich nicht mehr weiter.
Nun meine Frage: Ist es möglich, das Skript ohne das Addon laufen zu lassen (soll heißen habe ich einfach nur etwas falsch gemacht)?
Falls es nur mit Addon geht, kann mir dann bitte jemand erklären was ich genau machen muss? Komme damit überhaupt nicht klar.
Bin echt am verzweifeln, kann doch nicht so schwer sein, ein simples Skript laufen zu lassen. Als Info hier noch das Skript:
#!C:/Programme/xampp/perl/bin/perl.exe
#Haltbarkeit eines Users in Minuten
my $hold=10 ;
#Bild => 0 / Text (per SSI) => 1
my $output=1 ;
#Hintergrund => Weiss=0 / Schwarz=1 (wenn Output=>Bild)
my $invers=0 ;
###########################################################################
# Programmablauf (ab hier nichts mehr ändern)
###########################################################################
###
#Ermittlung des Scriptnamens und Wechsel in das Verzeichnis
$0 =~ /^(.*)[\/\\].*/ && chdir ($1) ;
###
#Datei schreiben
if ($ENV{'REMOTE_ADDR'}) {
open(DAT,"> ./data/$ENV{'REMOTE_ADDR'}") ;
close(DAT) ;
}
###
#IPs zählen/löschen
my $count=0 ;
opendir (SDATA, "./data");
my @ips = grep(/^\d+\./,readdir(SDATA));
closedir (SDATA);
foreach my $ip (@ips) {
if ( -M "./data/$ip" > ($hold/1440) ) {
unlink ("./data/$ip") ;
} else {
$count++ ;
}
}
###########################################################################
# Ausgabe
###########################################################################
if ($output==1) {
###
#Ausgabe :: Text
print "Content-type: text/html\n\n" . $count ;
} else {
###
#Bild generieren
my ($background,@digits,@bytes) ;
if ($invers==1){
$background="0xff,";
@digits=("c39999999999999999c3","cfc7cfcfcfcfcfcfcfc7","c3999f9fcfe7f3f9f981",
"c3999f9fc79f9f9f99c3","cfcfc7c7cbcbcd81cf87","81f9f9f9c19f9f9f99c3",
"c7f3f9f9c199999999c3","81999f9fcfcfe7e7f3f3","c3999999c399999999c3",
"c399999999839f9fcfe3") ;
} else {
$background="0x00,";
@digits=("3c66666666666666663c",
"30383030303030303030","3c66606030180c06067e","3c66606038606060663c",
"303038383434327e3078","7e0606063e606060663c","380c06063e666666663c",
"7e666060303018180c0c","3c6666663c666666663c","3c666666667c6060301c") ;
}
for my $z (0..9) {
for ( split(//,sprintf("%03d",$count)) ) {
push(@bytes,"0x".substr($digits[$_],$z*2,2).",") ;
}
}
###
#Ausgabe :: Bild
print "Content-type: image/x-xbitmap\n\n" ;
print "#define count_width 24\n#define count_height 24\n" ;
print "static char count_bits[] = {\n","$background"x21,@bytes,"$background"x21,"}" ;
}
###########################################################################
# ENDE
###########################################################################