PHP 7 tritt an, mit Facebooks HHVM abzurechnen. Jetzt aber wirklich.

PHP 7 ist da – der Beginn einer neuen Ära
Kommentare

Es ist so weit; elf Jahre nach dem letzten Major-Release – PHP 5 wurde am 13. Juli 2004 der Community übergeben – hat das Core-Team PHP 7 final veröffentlicht. Unter der Haube stecken nicht nur zahlreiche neue Features, sondern vor allem eine neue Engine, die sich anschickt, dem einstigen Schreckensgespenst, Facebooks HHVM, das Fürchten zu lehren.

Über elf Jahre zwischen den Major-Versionen, eine Last-Minute-Verschiebung und eine ausgelassene Version; das ist die aktuelle Situation, mit der sich die PHP-Community konfrontiert sieht. Zuletzt kam es heute – kurz vor dem geplanten Release – ein wenig Unsicherheit, da ein geplantes OpenSSL-Update für eine weitere Verzögerung sorgte.

Doch das lange Warten hat ein Ende: das Core-Team hat PHP 7 endgültig veröffentlich.

PHP 7

PHP 7, das zuletzt 8 RC-Release spendiert bekommen hatte, wurde knapp ein halbes Jahr nach dem Release der ersten Alpha-Version offiziell der Community übergeben. Und dabei hat man allen Grund, stolz auf die geleistete Arbeit zu sein:

It is not just a next major PHP version being released today. The release being introduced is an outcome of the almost two years development journey. It is a very special accomplishment of the core team. And, it is a result of incredible efforts of many active community members. Indeed, it is not just a final release being brought out today, it is the rise of a new PHP generation with an enormous potential.

Nach 20 Jahren PHP-Geschichte steht der Community nun ein Release zur Verfügung, das alte Probleme über Bord wirft und neben zahlreichen neuen Features wie zum Beispiel der Typsicherheit für skalare Datentypen und den vollständigen 64-Bit-Support für Windows-Systeme vor allem eines bietet: Performance, Performance und noch einmal Performance.

Stellen Sie Ihre Fragen zu diesen oder anderen Themen unseren entwickler.de-Lesern oder beantworten Sie Fragen der anderen Leser.

Upgrade auf PHP 7

Im PHP 7 Migration Guide – Migrating from PHP 5.6.x to PHP 7.0.x – erklärt das PHP-Core-Team ausführlich, welche Schritte Entwickler beachten müssen, wenn sie Applikationen von der aktuellsten PHP-Version auf PHP 7 migrieren möchten.

Ein Update wird sich schon aufgrund des Performance-Gewinns rentieren: stellte PHP 5.6 im Vergleich zu den Vorgängern schon ein Quantensprung in Sachen Geschwindigkeit dar, zeigt der Tacho bei PHP 7 das Doppelte an Speed und lässt dabei auf die HipHop Virtual Machine von Facebook hinter sich. Ein vor einiger Zeit veröffentlichter Benchmark für die aktuelle WordPress-Version 4.3 sprach eine mehr als deutliche Sprache; doch auch andere Systeme werden enorm vom neuen Major-Release profitieren.

Der Migration Guide beschäftigt sich ausführlich mit den verschiedensten Bereichen von PHP 7. So geht der Guide auf die Brüche mit der Abwärtskompatibilität ein, zeigt neue Features wie skalare Type Hints oder den Null-Coalesce– und den Spaceship-Operator, verweist auf neue Funktionen, Klassen und Interfaces sowie globale Konstanten und zeigt, welche Features mit dem Release von PHP 7 als Deprecated markiert sind.

Neben den im Migration Guide besprochenen Themen gibt es jedoch noch andere Themen, die man nicht aus dem Blick verlieren solle – wie beispielsweise den Wegfall der mysql_*-Funktionen, die sich über einen kleinen Kniff wieder in PHP 7 integrieren lassen. Damit können auch Legacy-Applikationen schnell und unkompliziert vom Performance-Boost von PHP 7 profitieren. Wie enorm dieser Boost ausfällt, zeigen aktuelle Benchmarks, die PHP 7 mit PHP 5.6 vergleichen:

Die letzte Verschiebung

Wer heute auf Twitter die Augen offen gehalten hat, dürfte schnell dicke Luft gespürt haben. Der Grund dafür war ein „Delay“ der Veröffentlichung von PHP 7 um ein paar Stunden; Grund dafür war ein geplantes OpenSSL-Release, das natürlich durchaus als Sicherheitskritisch betrachtet werden könnte.

OpenSSL is releasing on 3rd between 1pm and 5pm UTC and contains some security fixes. As soon it is out, it’ll need some time to build the bins and to test – that the normal practice when we collide with some library like OpenSSL. So the announcement will most likely shift into the later afternoon, still same day by UTC and most other time zones. That’s the plan, nothing else can really stop it.

Das Problem war nun, dass davon nur die Windows-Version von PHP 7 betroffen war – was zu einigermaßen hitzigen Diskussionen in den Internals geführt hat. Es sollte kein Vendor in der Lage sein, das Release einer PHP-Version zu das Release einer PHP-Version zu blocken:

Never remember any such thing in PHP history. Binary builds should not be a blocker to releases. Not Windows/MSFT, Zend, Red Hat or anyone…

Von einem Blocker kann in diesem Fall natürlich keine Rede sein; Diskussionsstoff bietet die letzte (wenn auch sehr kurze) Verschieben dennoch zu genüge.

HHVM vs. PHPNG

Die Versionsnummer „7“ kam übrigens nach zahlreichen Diskussionen zustande; der entsprechende RFC mit der Abstimmung wurde mit 58 zu 24 Stimmen zugunsten von PHP 7 entschieden. Im Zuge dieser Diskussionen war einige Zeit lang sogar der Umstieg der Engine auf Facebooks HHVM im Gespräch. Schuld am „Scheitern“ von PHP 6 ist übrigens ein dunkles Kapitel – bekannt unter dem Namen Unicode-Problem.


WordPress Spezial

Entwickler Magazin Spezial Vol. 10: WordPressEntwickler Magazin Spezial Vol. 10: WordPress
Alles rund um WordPress im Entwickler Spezial Vol. 10 – ab 18.11.2016 im Handel.
WordPress ist längst weit mehr als ein simples Blogsystem. In diesem Sonderheft beschäftigen sich zahlreiche Spezialisten mit allen wichtigen Fragen rund um das verbreitetste CMS im Web; und dabei geht es nicht nur um klassische Themen, sondern auch um Affiliate Marketing, E-Commerce u.v.m.


PHPNG, die neue Engine unter der Haube von PHP 7, kam übrigens erstmals Anfang Mai 2014 auf; kurz nachdem die Diskussionen im Core-Team über einen möglichen Wechsel der Engine auf ihrem Höhepunkt angelangt waren. Schnell jedoch konnte Zend mit der komplett überarbeiteten Engine beachtliche Erfolge vorweisen.

Am Ende stand PHPNG in der Benchmark-Schlacht oft als Sieger fest.

Willkommen in der Zukunft

Bereits seit einigen Tagen is PHP 7 auf GitHub im Master-Branch getagt. Darüber hinaus steht PHP 7.0.0 Website zum Download zur Verfügung; die Windows-Binaries finden sich ebenfalls an der gewohnten Stelle.

Detaillierte Informationen zu allen Änderungen seit dem letzten Release Candidate bietet das Changelog.

Die bis dato aktuelle Version, PHP 5.6, wird noch bis 28. August 2016 aktive mit Updates versorgt, bevor es in den Security-only-Modus übergeht. Spätestens bis zu diesem Zeitpunkt sollte das Update erledigt sein; schließlich wollen wir in der nächsten PHP-Versionsverbreitungsmeldung bessere Nachrichten vermelden können als die Tatsache, dass eine Version, welche die Phase des aktiven Supports bereits verlassen hat, noch immer an der Spitze der Charts steht.

Ein Umstieg auf PHP 7 sollte für den größten Teil der existierenden Applikationen kein all zu großes Problem darstellen; zur Not hilft das schnelle Aufsetzen eines Testsystems, um auf Nummer Sicher zu gehen.

Jetzt heißt es also Updaten und in der Zukunft ankommen.

Aufmacherbild: 3d shiny diamond number 7 isolated on black background von Shutterstock / Urheberrecht: totallyPic.com

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -