WordPress und php-5.0.5

Heute habe ich meinen Entwicklungs-Server mit der neuen php-Version 5.0.5 versorgt. WordPress paßte dieser Versionsupgrade allerdings gar nicht und erzeugte nur eine Fehlermeldung:

Fatal error: Only variables can be passed by reference in /www_root/d2k/wp-includes/gettext.php on line 66.

Das Problem scheint dabei die php-Funktion array_shift in der Funktion readint() zu sein. Tauscht man die Zeilen 66 und 69

66: return array_shift(unpack(‚V‘, $this->STREAM->read(4)));

69: return array_shift(unpack(‚N‘, $this->STREAM->read(4)));

durch

66: $tmp = unpack(‚V‘, $this->STREAM->read(4));
67: return array_shift($tmp);

69: $tmp = unpack(‚N‘, $this->STREAM->read(4));
70: return array_shift($tmp);

aus, läuft WP wieder anstandslos. Laut div. Postings aus anderen PHP-Projekten scheint dieses Problem nicht nur WordPress zu betreffen. Bei php.net habe ich dazu bislang allerdings nich nichts gefunden … was aber wohl eher an meinen knappen Zeit liegt als das dieses Problem nicht dort vielleicht schon besprochen wurde ;)

2 thoughts on “WordPress und php-5.0.5

  1. Vielen Dank für den Hinweis, ich hatte heute morgen das gleiche Problem und wäre ohne diesen Hinweis wohl verzweifelt, da meine PHP Kenntnisse nicht wirklich gut sind. Bei mir hat es aber auch erst funktioniert als ich statt „$tmp = unpack(’V‘, $this->STREAM->read(4));“ „$tmp = unpack(‚V‘, $this->STREAM->read(4));“ verwendet hatte, der Unterschied ist beim V “ statt ’‘, in Zeile 69 ebenso.

Comments are closed.