Guten Tag,
mein Fehlerabfangjäger funktioniert seit der Umstellung des Servers auf Apache-Version 2.2.10 (Unix) mit PHP5 5.2.6 nicht mehr. Unter der Apache-Version 1.3.37 (Unix) mit PHP 5.2.1 hat er jedoch noch gearbeitet.
In der .htaccess stehen folgende Einträge:
ErrorDocument 400 /reports/error.php?error=400
ErrorDocument 401 /reports/error.php?error=401
ErrorDocument 402 /reports/error.php?error=402
ErrorDocument 403 /reports/error.php?error=403
ErrorDocument 404 /reports/error.php?error=404
Die error.php sieht folgendermaßen aus:
<?php header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.example.com/error.shtml?00000{$error}de");
$header = "Content-Type: text/plain; charset=\"us-ascii\"\n";
$header .= "Content-Transfer-Encoding: 7bit\n";
$header .= "FROM: postmaster@example.com\n";
$msg = "HTTP-Fehlercode: $error\n\n";
$msg .= "Browser: $HTTP_USER_AGENT\n\n";
$msg .= "IP-Adresse: $REMOTE_ADDR\n\n";
$msg .= "Angefordert: $REQUEST_URI\n\n";
$msg .= "Herkunft: $HTTP_REFERER\n\n";
$mailto = "webmaster@example.com";
mail("$mailto","Fehlermeldung $error","$msg","$header"); exit; ?>
Ich rufe extra eine nicht existierende Datei auf. Dabei sollte dann schlußendlich die URL http://www.example.com/error.shtml?00000404de aufgerufen werden, doch es wird http://www.example.com/error.shtml?00000de ohne »404« zwischen »00000« und »de« aufgerufen. in der Zwischenzeit wird eine fast leere Mail (siehe Beispielmail 1) an webmaster@example.com ohne nähere Details zum Fehler versendet. Für mich heißt das, daß die PHP-Datei nicht richtig verarbeitet wird. Vorher konnte man stets den Grund des Fehlers sehen (siehe Beispielmail 1).
-----Original Message----- (Beispielmail 1)
From: postmaster@example.com
Sent: Thu, October 15, 2009 14:11
To: webmaster@example.com
Subject: Fehlermeldung
HTTP-Fehlercode:
Browser:
IP-Adresse:
Angefordert:
Herkunft:
-----Original Message----- (Beispielmail 2)
From: postmaster@example.com
Sent: Thu, October 15, 2009 14:11
To: webmaster@example.com
Subject: Fehlermeldung 404
HTTP-Fehlercode: 404
Browser: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR
2.0.50727; .NET CLR http://3.0.4506.2152; .NET CLR 3.5.30729)
IP-Adresse: XX.XXX.XXX.XXX
Angefordert: /test
Herkunft:
Kann mir bitte jemand sagen, was ich an der error.php ändern muß, damit das Ganze wieder funktioniert? Unter http://ch2.php.net/manual/de/language.variables.superglobals.php werde ich heute irgendwie nicht mehr ganz schlau. Vielen herzlichen Dank für Eure geschätzte Mithilfe?
Freundliche Grüße, D. G.