Bildquelle: Pixabay, geraldsimon00

PHP Fatal error: Can’t use function return value in write context

in /var/www/webxxxx/htdocs/wp-content/themes/enfold/header.php on line 6

Beim Einsatz bewährter aktueller Plugins und Themes kommt es durch WordPress-Updates nicht allzu oft zu Problemen (ich erlebe sie jedenfalls selten). Ausschließen kann man sie allerdings nicht, da jede Umgebung anders ist, und nicht jede Komponente unter allen Bedingungen denen sie später mal ausgesetzt sein könnte, getestet werden kann. Aus diesem Grund sollten Zugangsdaten (FTP und Hosting-Paket.Verwaltung) immer griffbereit sein, um schnell eingreifen zu können, schießt eine Komponenten nach einem Update mal quer.

Weiße Seiten nach einem WordPress- oder Komponenten-Update können unterschiedliche Ursachen haben. Eine davon ist die Knappheit von Ressourcen (germe ein zu niedriges memory_limit, wohingegen das Misslingen eines WordPress-Updates Hinweis auf zu knappen Websapce sein kann), die einen vor allem auf veralteten oder unterdimensionierten Hosting-Produkten erwischt. Steigt der Bedarf einer einzigen Komponente nach einem Update, kann das zum Total-Ausfall der Website führen.

Folgende Zeilen in der wp-config.php helfen dabei, Fehler zu finden.

define('WP_DEBUG', true);
define('WP_DEBUG_DISPLAY', false ); /* den Wert auf "true" zu setzen zeigt Fehler / Warnungen direkt im Browser an, wo sie dann für jeden sichtbar sind */
define('WP_DEBUG_LOG', true);

vor dieser Stelle:

/* Das war’s, Schluss mit dem Bearbeiten! Viel Spaß beim Bloggen. */

Sobald nun beim Versuch die Site aufzurufen ein Fehler ausgelöst wird, entsteht ein Eintrag im debug.log. WordPress legt dieses direkt unter wp-content ab. In vielen Fällen kann man dem debug.log entlesen, an welcher Stelle und durch welche Komponente der Fehler passiert. Handelt es sich um ein Plugin, reicht es bereits aus, es über FTP umzubenennen, um es zu deaktivieren.

In diesem speziellen Can't use function return value in write context-Fall, handelte es sich allerdings um eine Inkompatibilität zwischen der aktivierten PHP Version (5.4.x) und dem upgedateten Theme Enfold, für das mindestens PHP 7.0.x erforderlich ist, damit es funktioniert.

Nach wie vor laufen zahlreiche Websites unter PHP 5.6.x oder niedriger. WordPress selbst funktionert auch dann für gewöhnlich noch. Viele Themes und Plugins allerdings sind bereits auf das schnellere und bessere PHP 7 hin entwickelt.

Um das Risiko von Überraschungen der beschriebenen Art zu senken, am besten ab und zu in der Hosting-Paket-Verwaltung (Kundenbereich beim Webhosting-Provider, gelegentlich sind Verwaltung des Webspaces und Administration auch getrennte Bereiche) anmelden und überprüfen, welche PHP-Version für die Website aktiviert ist. Je nach Qualität des Hosts findet man dort auch Auskunft über die verfügbaren Ressourcen vor.

Aktuell ist PHP 7.1.x eine gute Wahl für den Betrieb einer aktuellen WordPress-Version. Gibt es damit Schwierigkeiten, kann das ein Hinweis auf eine veraltete Komponente sein, die günstigerweise besser heute als morgen ausgetauscht wird.

Wenn alles wieder wie gewünscht funktionert, nicht vergessen, das Debugging zu deaktivieren. Durch Hinweise und Warnungen kann das Logfile ansonsten über die Zeit recht groß werden.

Über Gabriele Lässer

WordPress Sorgen? - Nicht mit mir! Ich freue mich über spannende Herausforderungen

Kommentar schreiben

E-Mail-Adresse wird nicht veröffentlicht.

Overlay background for modal content