Menü
Developer

PHP 5.5 mit Bytecode-Cache Zend Optimizer+ erschienen

Von
vorlesen Drucken Kommentare lesen 82 Beiträge

Die weit verbreitete Skriptsprache PHP ist in Version 5.5 erschienen. Die Vorgängerversion PHP 5.4 war im März 2012 freigegeben worden, mit der Entwicklung des neuen Releases hatten die Entwickler im November 2012 begonnen. Es enthält eine Reihe neuer Features, darunter die array_column()-Funktion, und unterstützt nichtskalare Iterator-Schlüssel in einer foreach()-Schleife. Dadurch können Entwickler einfache Koroutinen implementieren.

Außerdem wird mit dieser Version eine bcrypt verwendende Passwort-Hashing-Funktion eingeführt, durch die Entwickler auf sichere Weise Passwörter mit Salt-Werten und schließlich das Schlüsselwort für den Code erzeugen können, unabhängig davon, ob eine Ausnahme aufgetreten ist oder nicht. Das foreach-Schleifenkonstrukt unterstützt außerdem list(), mit dem sich eine Liste von Variablen innerhalb einer Operation zuweisen lässt.

Die meisten Neuerungen von PHP 5.5, darunter auch der Bytecode-Cache Zend Optimizer+, haben offenbar kaum Auswirkungen auf schon bestehenden PHP-Code und primär zum Ziel, die Performance und die Stabilität der Sprache zu verbessern. Den Zend Optimizer+ hatte der PHP-Dienstleister Zend Technologies im Februar 2013 als Open-Source-Code zur Verfügung gestellt, mit dem Ziel, dass er als nativer Bestandteil in PHP 5.5 landet. Zuvor war er Teil des proprietären Zend Server. Ein Bytecode-Cache ist ein Cache, der das Kompilat des Compilers im Speicher hält, damit nicht jede Quelltextdatei bei jedem Request neu zu kompilieren ist.

Die PHP-Entwickler weisen darauf hin, dass PHP 5.5 auch einige Inkompatibilitäten mit früheren Versionen mitbringt. So haben sie die Unterstützung für Windows XP und 2003 entfernt. Auch empfehlen die Entwickler, dass Anwender mit nichtenglischer Codebasis und älterem Code, der nicht auf ASCII-Kodierung beruht, erst ihre Anwendung gegen PHP 5.5 testen sollten, bevor sie diese in Produktion geben. Änderungen bei pack- und unpack-Funktionen haben offenbar dazu geführt, dass sich ihre Befehle kompatibler mit Perl verhalten, sie ziehen aber auch nach sich, dass Entwickler ihren Code unter Verwendung von version_compare() bearbeiten müssen, damit sich ihre Applikationen rückwärtskompatibel verhalten.

Eine Liste der neuen Funktionen und mögliche Inkompatibilitäten zwischen PHP 5.5 und früheren Versionen findet man als Teil der Dokumentation auf der PHP-Website. Sämtliche Änderungen listet die NEWS-Datei auf. Pakete für die aktuell unterstützten Windows-Versionen sind auf der PHP-Website zu finden; der Quellcode ist dort ebenfalls verfügbar. Das neue Release wird unter der PHP License v3.01 veröffentlicht. (ane)