Ist deine WordPress-Website kompatibel mit PHP7?

Die Zeiten ändern sich.

Dieser Beitrag scheint älter als 7 Jahre zu sein – eine lange Zeit im Internet. Der Inhalt ist vielleicht veraltet ...

Viele WordPress-Nutzer möchten einfach nur bloggen oder ihre Website im Netz haben und kennen sich mit den technischen Hintergründen überhaupt nicht aus. Und das ist auch völlig okay. Aber gerade bei der PHP-Version lohnt es sich, die Zugangsdaten zum Hoster mal wieder herauszukramen und zu schauen, ob wir die neueste 7er-Version auswählen können. Denn der Geschwindigkeitsgewinn ist enorm.

Click here to display content from Twitter.
Erfahre mehr in der Datenschutzerklärung von X.

WordPress selbst ist schon seit langem PHP7-kompatibel, aber was ist mit den vielen installierten Plugins? Der Managed-WordPress-Hosting-Anbieter WP Engine hat dafür ein Plugin herausgebracht, den PHP Compatibility Checker.

Die Einstellungsmöglichkeiten sind überschaubar – einfach alle (aktiven) Plugins auf PHP7 checken:
settings

Ist alles okay, kommt ein grüner Haken:
okay

Gibt es ein Problem mit dem Plugin, kommt ein rotes X:
error

Durch einen Klick auf den „View Details“-Link am Ende werden die Fehler und Warnungen angezeigt:
error-exanded

Ein häufiger Fehler ist der auch im Screenshot sichtbare Deprecated PHP4 style constructor are not supported since PHP7.

Die Kontruktormethode im PHP4-Stil war eine Methode mit dem gleichen Namen wie die Klasse. Mit PHP5 wurde zwar die __contruct()-Methode eingeführt, aber der PHP4-Stil war nach wie vor erlaubt. Mit PHP7 ist das nicht mehr der Fall. Ab sofort muss die __contruct()-Mthode genutzt werden. Der PHP4-Stil ist nicht mehr erlaubt.

Wenn eines deiner Plugins einen Fehler anzeigt, dann nimm dir doch bitte die Zeit und informiere den Plugin-Entwickler über das Problem in dem zu jedem Plugin existierenden Supportforum (Reiter „Support“). Ich habe hier mal meinen Standardtext angehängt, den ihr gerne benutzen könnt.

Hi!

I’ve tested all my plugins with this PHP linter:

Click here to display content from WordPress.org.
Erfahre mehr in der Datenschutzerklärung von WordPress.org.

Unfortunately I found a problem with your plugin:

(Hier das Ergebnis des PHP-Checker einfügen)

Would be great if you can fix this!

All the best,
(Dein Name)

Wenn alles grün und somit PHP7-kompatibel ist und euer Hoster PHP7 auch anbietet, könnt ihr eurer Site einen echten Geschwindigkeitsboost spendieren!

Hat alles geklappt? Gab es Probleme? Ich freue mich über Erfahrungsberichte in den Kommentaren.

17 Antworten auf Ist deine WordPress-Website kompatibel mit PHP7?

  1. Gibt es eine ausführliche möglichst einfache Beschreibung, was zu tun ist, um diese Meldung
    „The plugin/theme was skipped as it was too large to scan before the server killed the process.“
    zu vermeiden, und den Check dieser Plugins/Themes zu ermöglichen ?

    • Das hängt vom Hoster ab, ob er die max_execution_time (wahrscheinlich die Limitierung, die den Fehler auslöst) überhaupt anpassen lässt. Und wenn ja, wie. Es gibt verschiedene Möglichkeiten. Per .htaccess, per php.ini oder mit Glück über das Backend des Hosters. Am besten den Support des Hosters ansprechen.

  2. php7 vs HHVM

    Hallo,

    wie sieht es aus, wenn einem auch HHVM zur Verfügung steht?

    • Die Benchmarks zu HHVM vs. PPHP7 findest du hier:
      http://www.zend.com/en/resources/php7_infographic

      HHVM ist ja eine alternative PHP-Implementierung, die PHP-Code kompiliert. HHVM unterstützt dabei aber auch PHP7:
      http://hhvm.com/blog/10859/php-7-support

      Ob das noch mehr bringt, weiß ich nicht. Die Benchmarks sind in jedem Fall mit Vorsicht zu genießen. Eigene Benchmarks sind zu empfehlen.

      Von der Kompatibilität von HHVM ist mir nichts spezielles bekannt, falls das mit deiner Frage gemeint war. Da es ja „nur“ eine Kompilierung des gleichen Codes ist, sollte HHVM keine zusätzlichen Probleme/Anforderungen haben. Aber so genau habe ich mich mit HHVM noch nicht beschäftigt.

  3. Hi Torsten,

    zuerst war ich begeistert, als ich das Plugin getestet habe. Nach Studium des Plugin-Forums bin ich jedoch ernüchtert. Das Plugin ist vermutlich noch nicht ausgereift und bringt zu viele false positiv-Meldungen. M. E. ist es (noch) nicht brauchbar. Wie denkst du darüber?

    • Das Plugin testet stumpf alle PHP-Dateien. Eine Weiche (PHP 5.x / 7) kann es systembedingt nicht erkennen. Sehr gute Plugins supporten z.T. noch wie WP runter bis 5.2. Dann erzeugen die jeweiligen Programmteile „false positives“ (z.B. bei BackWPup). Es ist halt ein Linter und somit ein Tool für diejenigen, die das Ergebnis einschätzen können. Ein Blick in das Supportforum des jeweiligen Plugins bringt aber schnell zutage, ob es kompatibel ist. Entweder weil es schon gefragt wurde, oder durch die eigene Anfrage. Im Idealfall wird das jeweilige Plugin in die Whitelist des Checker aufgenomme, um keine false positives mehr auszulösen.

  4. Bei uns laufen über 5500 WP-Blogs mit PHP 7 – Probleme gab es letztendlich nur, wenn der Kunde entweder ein uralt-Theme genutzt hat oder irgendwelche Plugins waren nicht aktuell. Ein einfaches Update hat jeweils abhilfe geschaffen.

    • Bei mir waren es vor allem die im Artikel erwähnten PHP4-Kontruktor-Methoden, die Probleme machten. Der Großteil läuft aber rund und immer mehr Plugin-Entwickler machen ihre Plugins gerade fit für PHP7.

      • Danke für deine Hinweise. Bei meinen Websites sind noch zu viele Fehler durch die Plugins drin. Ich muss das näher untersuchen und dann an die Pluginentwickler melden. So lange bleibe ich noch bei PHP 5.6.

    • Danke Sven, das klingt beruhigend. Werde auf ausgewählten Websites einen Versuch machen.

  5. Hallo Torsten,
    mein Theme gilt als PHP7-kompatibel, bekommt aber zwei Fehlermeldungen mit dem Plugin.

    Für mehrere php-Dateien, z.B. diverse Maintenance-Upgrade-Files wie „/wp-content/themes/headway/library/maintenance/upgrade-382.php“ wird folgender Fehler ausgeworfen:
    „Extension ‘mysql_’ is deprecated since PHP 5.5 and removed since PHP 7.0 – use mysqli instead“ gemeldet.

    Für folgende zwei Dateien wird außerdem „preg_replace() – /e modifier is forbidden since PHP 7.0“ gemeldet:
    /wp-content/themes/headway/library/common/functions.php
    /wp-content/themes/headway/library/blocks/embed/embed.php

    Laut Support-Forum scheint zumindest die Sache mit preg_replace() – /e vermutlich gar kein Fehler zu sein.

  6. Hallo Torsten,

    leider reagieren sehr viele Plugin-Entwickler überhaupt nicht auf Meldungen im Support Forum. Dabei stellte sich auch heraus, dass viele Plugins schon sehr lange kein Update mehr erfahren haben. Das war in guter Grund diese mit allen Konsequenzen in den eigenen Beiträgen zu eliminieren und dann das Plugin zu löschen

    Zwei Plugin Entwickler haben sich dann bei mir gemeldet und meinten dass Ihr Plugin trotz der Fehlermeldungen kompatibel zu PHP 7 sind.

    Beste Grüße
    Michael

  7. Ich kann dem Problem von Michael nur beipflichten. Ich bin für einen Blog verantwortlich und das darin implemtentierte Modul für das Glossar macht bei der Umstellung auf PHP7 Probleme. Dadurch kann der gesamte Blog nicht umgestellt werden. Da es ein sehr umfangreicher und teils mit vielen Bildern befüllter Blog ist, ist das umso ärgerlicher. […] Ich hoffe dass sich schnelle eine Lösung findet, aber leider kam vom Support des Plugins bzw. kaum Rückmeldung.

  8. Hi Torsten,
    bei mir läuft das Plugin leider nicht – gibt es eine andere Möglichkeit meine Seite unkompliziert auf Kompatibilität zu testen?

    Viele Grüße
    Heike

    • Hallo Heike,

      ich kenne keine andere unkomplizierte Variante. Ich würde daher eher schauen woran es liegt, dass das Plugin nicht läuft.

  9. Ach Schade – im Supportforum des Plugins sind schon mehrere Meldungen dazu, aber leider keine Antwort des Plugin-Autors 🙁

    Viele Grüße
    Heike

Schreibe einen Kommentar

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