Freitag, 1. Juni 2007
PHP 5.2.2 hat einen
doofen Bug. Dadurch sind so ziemlich alle Implementationen von
XML-RPC-Apis unter dieser
PHP-Version kaputt. Natürlich ist davon auch
Serendipity betroffen. Ich habe mich daher seit zwei Tagen damit geärgert einen Desktop-Blogging-Client zum laufen zu kriegen.
In der
Bug-Beschreibung gibt es eine relativ einfache Lösung, um den Bug in
PHP zu umgehen. Dabei reicht es einen Dreizeiler in der Datei serendipity_xmlrpc.php hinzuzufügen. Einfach folgendes vor dem Initialisieren von $data einfügen:
// BUGFIX für php 5.2.2
if (!isset($HTTP_RAW_POST_DATA)) {
$HTTP_RAW_POST_DATA = file_get_contents('php://input');
}
Leider funktionierte dann der Blogging-Client noch immer nicht richtig. Ich konnte zwar die letzten Beiträge abrufen, und auch bloggen. Jedoch war es nicht möglich, die kompletten Einträge runter zu laden. Erst nachdem ich die maximale Ausführungszeit und das Speicherlimit zur Scriptausführung erhöht habe, bin ich an alle Einträge ran gekommen!