PHP 7.4 verfügbar

PHP

Auf unseren Webservern steht ab sofort die heute neu erschienene PHP Version 7.4 zur Verfügung. Dies ist die voraussichtlich letzte Version im Release-Zweig 7, im nächsten Jahr soll dann PHP 8 erscheinen.

Neuerungen und Verbesserungen in PHP 7.4

Mit jeder neuen PHP-Version steigt normalerweise auch die Ausführungsgeschwindigkeit für PHP-Skripte. Wir konnten allerdings in ersten Tests nur kleine Performance-Verbesserungen beim Umstieg von PHP 7.3 auf PHP 7.4 feststellen. Der nächste größere Performance-Sprung in PHP wird erst mit dem für PHP 8 geplanten Just-in-Time-Compiler erwartet.

Eine wichtige Neuerung in PHP 7.4 ist das sogenannte Foreign Function Interface (FFI), mit dem C-Bibliotheken ohne den Umweg über eine PHP-Extension genutzt werden können.

Eine weitere Neuerung ist die Preloading-Funktion von OpCache, mit der ganze PHP-Anwendungen vorgeladen werden können. Bisher arbeitet OpCache nur auf Dateiebene, der OpCode wird für jede PHP-Datei einzeln vorgehalten und muss vom PHP-Intepreter bei jedem Skript-Aufruf zunächst noch zu einem ausführbaren Programm zusammengestellt werden (Linking). Dieser Schritt entfällt beim Preloading, dadurch können PHP-Anwendungen etwas schneller geladen werden.

Die Preloading-Funktion kann jedoch nicht einfach nur aktiviert werden; es ist zusätzlich ein spezielles PHP-Skript erforderlich, das alle benötigten PHP-Dateien in den OpCache lädt.  Ein weiterer Nachteil ist, dass PHP-FPM bei jeder Änderung an einer PHP-Datei neu gestartet werden muss, damit die Änderung übernommen wird. Aufgrund dieser Einschränkung können wir die Preloading-Funktion zunächst nicht anbieten.

Weiterhin wird in OpenSSL-Streams jetzt auch TLS 1.3 unterstützt. Dies ist allerdings nur auf unseren neueren Webservern verfügbar, die schon auf unsere aktuelle Hosting-Platform umgestellt wurden.

Eine für Softwareentwickler interessante Neuerung ist die Unterstützung von sogenannten typed Properties. Properties von Klassen kann damit auf Wunsch ein konkreter Datentyp wie string oder int zugewiesen werden. So kann die Typsicherheit von Properties auch ohne aufwändige getter- und setter-Methoden sichergestellt werden.

Weiterhin kann der Null Coalescing Operator ?? nun auch direkt in Zuweisungen genutzt werden, wie etwa in folgendem Beispiel:

// Fetches the request parameter user and results in 'nobody' if it doesn't exist
$username = $_GET['user'] ?? 'nobody';

Eine weitere Änderung wurde beim Bedingungsoperator ? vorgenommen, dieser war bei PHP im Gegensatz zu fast allen anderen Programmiersprachen bisher linksassoziativ. Dieses Verhalten ist nun veraltet, zukünftig müssen hier Klammern genutzt werden.

Eine Übersicht über alle Neuerungen und Änderungen zur Vorgängerversion 7.3 finden Sie in der PHP-Upgrade-Dokumentation.

PHP 7.4 aktivieren

Sie können PHP 7.4 im Kundenmenü oder für einzelne Verzeichnisse per .htaccess-Konfigurationsdatei auf dem Webserver mittels folgender Direktive aktivieren:

AddHandler application/x-httpd-php74 .php

Für weitere Hinweise zur Auswahl der PHP-Version beachten Sie bitte den FAQ-Artikel „Wie kann ich eine bestimmte PHP-Version auswählen?„.

PHP 7.1 End of Life

Mit dem Erscheinen von PHP 7.4 endet auch die Unterstützung der älteren PHP-Version 7.1 durch das PHP-Entwicklerteam, es wird ab Dezember keine weiteren offiziellen Updates für diese PHP-Version mehr geben.

Falls Sie noch PHP 7.1 für Ihre Webseiten nutzen, sollten Sie aus Sicherheitsgründen auf eine neuere PHP-Version umstellen. Wir empfehlen momentan noch PHP 7.3 zu nutzen, da bei PHP 7.4 noch einige Kompatibilitätsprobleme auftreten können.

Schreibe einen Kommentar

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