Danke für den Tip! Habe es so gemacht und die Installation läuft auch dann wie beschrieben ab, aber.....
das XML::XSLT Modul scheint er nicht zu finden? Muss man da mit make noch irgendwas machen wegen der Perl-Module?
Habe im htdocs ein Verzeichnis "mypage" mit einem index.htm und 3 Unterverzeichnissen (cgi-bin, sitedata, systemdata) angelegt. Im cgi-bin liegt ein hallo-welt.cgi und ein xsl-trafo.cgi. Alles ziemlich einfach zu Testzwecken gestrickt!
---------
hallo welt:
#!C:\WebDiener\xampp\perl\bin\perl.exe -w
use strict;
use CGI::Carp qw(fatalsToBrowser);
print "Content-type: text/html\n\n";
print "Hallo Welt";
# sleep 3600;
-----------
xsl-trafo.cgi:
#!C:\WebDiener\xampp\perl\bin\perl.exe -w
use strict;
use XML::XSLT;
use CGI::Carp qw(fatalsToBrowser);
my $xmlfile = $ARGV[0];
unless ($xmlfile =~ m#^([\w.-]+)$#) {
die "Dateiname '$xmlfile' enthält unerlaubte Zeichen.\n";}
my $xslfile = $ARGV[1];
unless ($xslfile =~ m#^([\w.-]+)$#) {
die "Dateiname '$xmlfile' enthält unerlaubte Zeichen.\n";}
my $parser = XML::XSLT->new ($xslfile, "FILE");
$parser->transform_document ($xmlfile, "FILE");
$parser->print_result();
---------
index.htm für xsl-trafo.cgi
<html>
<head>
<title>Stefan und Karins Homepage</title>
<link rel="stylesheet" type="text/css" media="screen" href=".systemdata/mysite.css" title="MyStile" />
</head>
<frameset framespacing="0" frameborder="0" border="0">
<frame name="Hauptframe" src="./cgi-bin/xsl-trafo.cgi?./sitedata/startpage.xml&./systemdata/mysite.xsl" scrolling="auto" />
<noframes>
<body>
<p>Diese Seite verwendet Frames. Frames werden von Ihrem Browser aber nicht unterst�Sorry ;O)</p>
</body>
</noframes>
</frameset>
</html>
Wenn ich nun das "hallo-welt.cgi" aufrufe, ist alles in Ordnung.
Modifiziere ich das index.html wie oben, gibt es den Internal Server Error.
Im Error.log finde ich dann:
[Tue Mar 01 01:06:48 2005] [error] [client 127.0.0.1] Premature end of script headers: xsl-trafo.cgi, referer:
http://localhost/wirahrens/index.htm
[Tue Mar 01 01:06:48 2005] [error] [client 127.0.0.1] Can't locate XML/XSLT.pm in @INC (@INC contains: C:/WebDiener/xampp/perl/lib C:/WebDiener/xampp/perl/site/lib .) at C:/WebDiener/xampp/htdocs/wirahrens/cgi-bin/xsl-trafo.cgi line 3.\r, referer:
http://localhost/wirahrens/index.htm
[Tue Mar 01 01:06:48 2005] [error] [client 127.0.0.1] BEGIN failed--compilation aborted at C:/WebDiener/xampp/htdocs/wirahrens/cgi-bin/xsl-trafo.cgi line 3.\r, referer:
http://localhost/wirahrens/index.htm
Irgendwas scheint mit den Perl-Paketen nicht zu gehen. Habe versucht die cgi-scripte ins xampp/cgi-bin zu setzen, das hat nichts gebracht.
Nun bin ich wieder ratlos...!
Deshalb die erneute Bitte um Hilfe !!!