PHP7-Verbreitung in der weltweiten Serverlandschaft: Langsam, aber alternativlos

Ende des Jahres wird PHP 5.6 zum alten Eisen gehören. So wie PHP 5.3, 5.4 und 5.5 schon ausgemustert wurden, wird auch die letzte Version unter dem Major Release 5 bald keine Weiterentwicklung mehr erfahren. Das Problem: Weltweit sind es etwas mehr als 62 Prozent an Servern im Internet, die PHP in einer Unterversion von 5 bereitstellen.

Dies könnte mit dem Jahreswechsel zum Sicherheitsproblem werden. Entsprechend alarmistische Meldungen waren in der letzten Woche zu lesen. Bei goneo gibt es schon seit längerem PHP 7, aktuell in den Versionen 7.1 und 7.2. Auch PHP 5.6 ist aus Kompatibilitätsgründen noch verfügbar, denn nicht alle Webanwendungen vertragen PHP7. Dennoch ist es jetzt höchste Zeit, die Skripte für PHP 7 fit zu machen. Und tatsächlich: Das Server-Ökosystem bewegt sich weltweit, wenn auch langsamer als es viele erhoffen.

Im Mai 2017 hatten wir uns angesehen, wie schnell die Entwickler von Webapplikationen die neue Version PHP 7 adaptieren.

In diesem Zusammenhang sprachen wir auch im goneo-Podcast mit dem Initiator von PHP, Rasmus Lerdorf, der einst eine Skriptsammlung als PHP Personal Home Page Tools veröffentlicht hatte. Später entwickelte sich PHP weiter zu PHP Hypertext Preprocessor. Das rekursiv zu lesende Akronym bringt zum Ausdruck, dass sich PHP-Anweisungen gut in HTML-Dokumente integrieren lassen. Das machte viele leistungsstarke Anwendungen im Word Wide Web möglich. Joomla, Drupal und natürlich WordPress – auch „die großen Drei“ genannt  – sind Beispiele dafür.

Alle drei Content Management Systeme wären ohne die eine Voraussetzungen nicht vorstellbar, nämlich dass diese Technologie unter Open-Source-Lizenzen veröffentlicht wurde. Das bewirkte, dass PHP auf vielen Servern, die aufgesetzt werden, in der Standardkonfiguration schon dabei ist (der Serveraufbau mit dem LAMP-Stack aus Linux, Apache, MySQL und PHP ist prototypisch geworden). Parallel dazu hatten Webseitenbetreiber das Bedürfnis, Webseiten dynamischer und funktionaler zu gestalten. Zudem sollte es einfacher sein, Inhalte zu erstellen und zu verwalten. Die Form (Webdesign) sollte vom Inhalt (Content) getrennt bearbeitet werden können. Dadurch wuchs der Bedarf an Content Management Systemen.

Seit diesen Tagen hat sich PHP massiv weiterentwickelt. Der Sprung auf PHP 7 markierte eine neue Ära, wie das Magazin entwickler.de schrieb. PHP erhielt eine neue Engine, die mehr Performance bewirkte und auch die Entwicklung von Facebook, HHVM, in Benchmarktests hinter sich ließ.

Die 7er Version bietet viele Vorteile. Durch die Performancegewinne arbeitet PHP 7 ökonomischer. Man braucht für die gleiche Last weniger Server. Dies macht PHP 7 auch ökologischer: Weniger Server bedeuten geringeren Stromverbrauch und dadurch weniger CO2-Ausstoß in Kraftwerken. Dies war auch der Appell von Lerdorf bei einer Veranstaltungsreihe PHP 7.

Dennoch war die Adaption von PHP 7 anfangs recht schleichend. Im Mai 2017 berichteten wir hier im Blog über eine Messung der Verbreitung von PHP 7 durch w3tech.com .

Die Grafik zu der Nutzungsstatistik der PHP-Versionen sah im Mai 2017 (Release von PHP 7.0.0 war im Dezember 2015) so aus:

Anteil PHP Versionen auf Servern Mai 2017

Abbildung 1: Anteil der diversen PHP-Versionen auf Servern im Mai 2017. Quelle: W3Techs.com

Mittlerweile hat sich das Bild etwas gewandelt.

w3tech Statistik PHP Versionen Oktober 2018

Abbildung 2: Anteil der diversen PHP-Versionen auf Servern im Oktober 2018.  Quelle: W3Techs.com

Man sieht: Die Verbreitung von PHP 5 sinkt, die von PHP 7 steigt, doch ist angesichts der vielen Vorteile die Adaption erstaunlich langsam.

In der besagten Podcast-Episode von goneo haben wir im Interview Rasmus Lerdorf auch gefragt, ob er das doch recht konservative Verhalten auf die Verbreitung der populären Content Management Systeme zurückführt, die erfahrungsgemäß erst vergleichsweise spät eine neue Version von PHP als Mindestvoraussetzung fordern. Er verneinte dies, er würde den Open-Source-CMS-Anbietern da keine Schuld geben.

Anders sieht das Scott Arciszewski, Chief Development Officer bei der Sicherheitsfirma Paragon Initiative Enterprise:

„The biggest source of inertia in the PHP ecosystem regarding versions is undoubtedly WordPress, which still refuses to drop support for PHP 5.2 because there are more than zero systems in the universe that still run WordPress on an ancient, unsupported version of PHP.“

So wird Arciszewski in ZDnet.com zitiert.

Zwar empfiehlt WordPress die Verwendung von PHP 7.2, schreibt aber in den allgemeinen Requirements, also den Systemvoraussetzungen zum Betrieb der Software auf einem Server:

„Falls du dich in einer veralteten Umgebung mit älteren Versionen von PHP oder MySQL befindest, wird WordPress auch mit PHP 5.2.4+ und MySQL 5.0+ funktionieren, aber diese Versionen werden nicht mehr gepflegt und können potentielle Sicherheitsrisiken für deine Website darstellen.“

Von den großen drei Open-Source-CMS-Anbietern fordert aktuell nur Drupal die Verwendung von PHP 7  für die neuste Version. Auf der anderen Seite betont WordPress die Verpflichtung den Usern gegenüber, das Blogsystem in möglichst vielen Umgebungen zum Laufen zu bekommen. So musste WordPress sich den Vorwurf gefallen lassen, Sicherheitsaspekte nicht genügend zu beachten. In diese kontrovers geführte Diskussion hat sich auch Matt Mullenweg eingeschaltet und sich auch via Twitter mit diversen Stakeholdern auseinandergesetzt.

Zwar bietet WordPress einige Ermunterungen an, neue PHP Versionen zu benutzen, teils unterstützt durch kommunikative Maßnahmen, zum Beispiel durch die Bereitstellung eines automatisierten Schreibes an Hostingprovider, das ein WordPress-User verschicken kann. Darin äußert dieser dann die Bitte, eine aktuelle Betriebssystemumgebung bereit zu stellen. WordPress weigert sich aber, die Verbreitung von WordPress dafür einzusetzen, ein bestimmtes Ökosystem auf Userseite zu erzwingen.

Fazit

Viele Webseitenbetreiber handeln nach der Devise „never change a running system“ oder: „wenn’s läuft, läuft’s„. Sicherheitsbedenken werden gerne hinten angestellt, zumal solche Migrationen durchaus Aufwand in Zeit und Geld erfordern können.

Dennoch wird es unumgänglich sein, PHP 5.6 mit PHP 7.1 oder 7.2 zu ersetzen, auch wenn 5.6 noch eine Gnadenfrist bekommen sollte und viele Webserver auch 5.6 weiter bereitstellen. Für den Fall, dass eine Sicherheitslücke in PHP entdeckt wird, wird es voraussichtlich Patches nur für PHP 7 geben.

Wer von PHP 5.6 auf PHP 7 umsteigt, wird sich mit den neuen Eigenheiten beschäftigen wollen. Dafür gibt es bei php.net einen Guide zur Migration.

Dieser Beitrag wurde unter PHP, Technologien bei goneo, Webbasierte Open Source Software abgelegt und mit verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

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