phpbb3 mit php als cgi: malformed header from script
Linux/OpenSource, PHP Februar 11th, 2008Wer sein phpbb3 zusammen mit einem PHP das über CGI angesprochen wird betreibt, kann eine oeberraschung erleben: Bilder funktionieren nicht richtig, und in der Logdatei tauchen Einträge der Form
malformed header from script. Bad header=Not Modified: file.php, referer:
auf. Die Lösung: die Zeile
header(‘Not Modified’, true, 304);
ist zu ersetzen durch
header(“HTTP/1.1 304 Not Modified”, true, 304);
und anschließend klappt es korrekt. Der Hintergrund ist wohl, dass die andere Schreibweise im header Aufruf lediglich mit PHP als Apache Modul funktioniert, weil der Apache die kurz-Notation “Not Modified” unterstützt, und daraus den RFC2616 konformen Header mit Status 304 macht.
Update:
Die korrekte Lösung sollte so aussehen – und das gilt wohl für alle, die vorhaben mit PHP conditional GETs zu unterstützen:
if (php_sapi_name()==’CGI’)
{
header(“Status: 304 Not Modified”);
}
else
{
header(“HTTP/1.0 304 Not Modified”);
}
- Phpbb3 und mod_gzip – mysteriöse Probleme
- PHPRaider phpbb3 Remote Exploit
- phpMyId und PHP mittels FastCGI
- PHP Basic Authentication und FastCGI mit Apache2
- Java Networking Probleme mit Debian (testing)
- Ubuntu: mysql und InnoDB nach Neuinstallation
- htaccess Trick um Bereiche für Suchmaschinen zu sperren

August 31st, 2008 at 10:37
Danke für den Beitrag, hat mir sehr geholfen. Aber irgendwie ist das schon komisch. Warum hätte man das bei PHP/Apache nicht einfach einheitlich machen können?