WordPress mit PHP-FastCGI

Da WordPress Probleme macht wenn PHP als (Fast-)CGI betrieben wird, muß man manuell nachhelfen. Die Fehlermeldung im Error-Log lautet dann etwa „FastCGI: comm with server „bla/bla/bla“ aborted: error parsing headers: duplicate header ‚Status'“. Das liegt daran, daß der Apache bzw. das FastCGI-Modul nur einen Status-Header verkraftet und sich ansonsten mit o.g. Fehler und einem „Internal Server Error 500“ verabschiedet. Abhilfe schafft ein Workaround von der deutschen WordPress Seite, allerdings funktionieren dann die Trackbacks immer noch nicht und produzieren bei Aufruf den selben Fehler. Mit ein wenig PHP-Kenntnissen kommt man aber auch dem bei:

Datei /wordpress/wp-includes/functions.php, ca. Zeile 2200 in der 2.0.4 Version suchen:


@header("HTTP/1.1 $header $text");
@header("Status: $header $text");

und hiermit ersetzen:


if (substr(php_sapi_name(), 0, 3) == 'cgi') {
if(!headers_sent) {
@header("Status: $header $text");
}
} else {
@header("HTTP/1.1 $header $text");
}

Das war’s, danach klappt’s auch mit den Trackbacks 😉

2 Kommentare

  1. Pingback: freakBLOG Beta

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert