Update auf WordPress 2.0.3: Licht und Schatten

Ich habe es gewagt und das betagte WordPress 1.5.x in Rente geschickt. Das Update alleine hat mich ca. 5 Stunden Zeit gekostet, weil immer mal wieder irgendwas nicht geklappt hat. Das Update läuft meiner Meinung nach nicht wirklich übersichtlich, weil man einige Dateien löschen muß und dann die neuen Dateien einspielen muß. Ein Backup der alten Dateien und der Datenbank ist absolut Pflicht, für den Fall das irgendwas schief geht. Ich habe nach ersten Tests mit der Englischen Version die Deutsche Version von WordPress installiert. Ggf. sollte man noch den Fix für einen WordPress-Exploit einspielen. Dann ging die Arbeit aber erstmal richtig los.

Ich mußte die Templates wieder alle von Hand an meine Bedüfnisse anpassen, was viel Arbeit war, da ich nicht markiert habe, wo ich in den Templates was geändert habe. Weiter ging es mit den Plugins. Da der Editor von WordPress 2.x die <?php ?> Tags von Exec-PHP verstümmelt, mußte ich alle Tags in [?php ?] ändern. Ich habe mich auch mal an ein Update von podPress gemacht. Die Version 3.8 habe ich durch die aktuelle 5.8 ersetzt. Beim Update mußte ich allerdings jede einzelne MP3- und M4V-Datei nochmal im Blogeintrag anlegen. Danach lief dann aber die aktuelle Version.

Eine Liste meiner aktivierten Plugins offenbart auch zwei Neuzugänge: Postie und myGallery. Letzteres kommt jetzt schon bei der Bilderseite zum Einsatz.
Nachdem soweit alles lief und ich soweit zufrieden war, habe ich festgestellt das die Seite „Tellerrand“ nicht mehr funktioniert, welche auch direkt nach dem Login in den Admin-Bereich angezeigt wird. Entweder war die Seite leer, wurde mir vom Browser als 0 Byte Download angeboten, oder es wurde nur der Header und Footer angezeigt. Etwas Licht ins Dunkel brachte mir der Dashboard-Hack. Mit seiner Hilfe habe ich ziemlich schnell festgestellt, das die dargestellten RSS-Feeds schuldig waren. Dann ging das lange debuggen los. Der Fehler lag in der Datei wp-includes/class-snoopy.php. In der Funktion _httprequest. Dort stand nämlich ein
$_data = fread($fp, $this->maxlength);
drin, was dazu führte, das sich PHP aufhängt, wenn nicht genau 0 oder $this->maxlength Bytes in einem Schritt gelesen werden. Ich habe diese Zeile durch
$_data = fread($fp, 1);
ersetzt, was zum gewünschten Erfolg führte. Auf diesen Fehler bin ich in einem meiner Programme auch schonmal reingefallen, sehr ärgerliche Sache.

Bleibt noch zu erwähnen, das einige RSS-Reader nach dem Update Probleme mit dem Feed hatten und 10-20 alte Beiträge als Neu angezeigt haben. Was iTunes mit meinem Feed macht, weiß ich im Moment noch nicht.