Das Error Log habe ich leider nicht mehr an der Hand. Es stand leider nur ein Hinweis auf eine uninitalisierte Variable in den Zeilen 40/41... das 1,5 GByte lang, so als würde eine Endlosschleife darum herum gebaut werden. Inzwischen erhalte ich nach den Update vom mod_cgi ein "Premature end of Script headers".
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
sub get_auftraege_inetbk_html
{
# Variablen
my @aa_inet_bk;
my $aa_size = 0;
my @aa_mitte_fertig = '';
my $aa_sid = $_[0];
my $betreff;
my $content;
my $bearbeiten;
my $i=0;
my @content;
my ($mail);
# Hole die Daten aus der Datenbank
@aa_inet_bk = get_auftraege_inetbk();
push(@aa_mitte_fertig, "<h3>Mail: Internet -> BK-Netz</h3>");
# ueberschrift von der Tabelle erzeugen
my $ueberschrift="<table width=100% rules=\"all\"><tr><th>Status</th><th>Mail von:</th><th>Betreff:</th><th>Erhalten:</th><th>Größe:</th><th> </th></tr>";
open(FH, "<templates/showauftraege_content.html");
while(<FH>)
{
push (@content, $_);
}
close(FH);
print Dumper \@aa_inet_bk;
$i=0;
foreach (@aa_inet_bk)
{
foreach my $item (@content)
{
# Status
$item =~ s/\!\!Freigabe\!\!/OK/g;
# Emailadresse
#$mail = $aa_inet_bk[$i][1];
#$mail =~ s/</</g;
#$item =~ s/\!\!Mailadresse\!\!/$mail/g;
# Betreff
#$betreff = "hallo";
#$betreff = $aa_inet_bk[$i][1];
#print $aa_inet_bk[$i][1];
#if (length($betreff) > 60) { $betreff = substr($betreff,0,60); $betreff .= "[..]"; }
#$_ =~ s/\!\!Betreff\!\!/$betreff/g;
# Zeit/Datum
#$item =~ s/\!\!ZeitDatum\!\!/$bla/g;
# Groesse
#$aa_size = -s WORKDIR . "/" . SERVERID . "/A$aa_inet_bk[$i][0]/original.txt";
#$aa_size = $aa_size / 1000;
#$aa_size = sprintf("%.0f", $aa_size);
#$_ =~ s/\!\!Groesse\!\!/$aa_size KB/g;
# Bearbeiten
#$bearbeiten = "<a href=\"main.pl?link=auftrag&SID=$aa_sid&AID=$bla\"><img src=\"/images/b_edit.png\" alt=\"Bearbeiten\" border=\"0\"></a>";
#$item =~ s/\!\!Bearbeiten\!\!/$bearbeiten/g;
push(@aa_mitte_fertig, $item);
$i++;
}
}
# Hier wird der komplette String zusammengebaut
return $content = "$ueberschrift" . "@aa_mitte_fertig" ."</table>";
}
Hier erstmal der Code meiner Funktion. Der Code ist noch ziemlicher Müll. Es geht nur um diese Zeile:
#$mail = $aa_inet_bk[$i][1]; ist diese auskommentiert, funktioniert alles. Ist das Kommentarzeichen weg erhalte ich einen 500er mit Premature End of Script headers.
Nachtrag:
Nachdem sich jetzt die Kiste verabschiedet hat, weil sie zuwenig Speicher hat, habe ich beschlossen, dass ein Bug in Perl/Apache/CGI oder sonst was ist. Ich kenn kein Skript was mehr als 512MB an Speicher braucht.\n\n
<!--EDIT|subsys|1121956117-->