Was ändert sich mit PHP 5.3?

MySQL- und Windows-Unterstützung

MySQL Native Driver (mysqlnd)

Mit mysqlnd hält eine für PHP entwickelte und optimierte Implementierung des MySQL-Client/Server-Protokolls in PHP 5.3 Einzug. Lagen die Daten für beispielsweise Ergebniszeilen von Anfragen früher im Speicher von libmysql und in dem von PHP, so belegen sie nun nur noch einmal Speicher, und zwar im von PHP-Prozess verwalteten Speicherbereich. Dies führt beim Umgang mit großen Datenmengen zu deutlich verbessertem Laufzeitverhalten.

mysqlnd wird standardmäßig mit PHP 5.3 ausgeliefert und lässt sich für die unterschiedlichen MySQL-APIs (mysql, mysqli, pdo_mysql) als Ersatz für die unter der GPL stehende libmysql verwenden.

Bessere Windows-Unterstützung

Durch Microsofts Unterstützung schließt PHP unter Windows mit der neuen Version hinsichtlich Funktionsumfang, Performanz und Stabilität im Vergleich zu anderen Betriebssystemen auf. Funktionen, die bislang nur unter Unix verfügbar waren beziehungsweise unter Unix teilweise anders funktionierten, lassen sich nun auf der Microsoft-Plattform verwenden. Den Build-Prozess für PHP unter Windows, den man beispielsweise auch für die Erstellung der offiziellen Binaries für Windows nutzt, haben die PHP-Entwickler entschlackt und modernisiert. PHP funktioniert nun beispielsweise mit der neuesten Generation von Microsofts C-Compilern (VC9, Visual C++ 2008).

Neue Erweiterungen

Dank der neuen PHAR-Erweiterung unterstützt PHP 5.3 das PHP-Archiv-Format von Haus aus. Dieses an JAR (Java Archive) angelehnte Dateiformat dient dem Verteilen von PHP-Bibliotheken und -Programmen.

Die neue intl-Erweiterungen implementiert die International Components for Unicode (ICU), eine Bibliothek für Unicode-Unterstützung und Internationalisierung, und bietet mit ihren Klassen und Funktionen eine komfortable Unterstützung bei der Internationalisierung von PHP-Anwendungen. PHP 6 wird die zugrunde liegende ICU-Bibliothek für die Unicode-Unterstützung noch stärker in den PHP-Interpreter integrieren.

Die mime_magic-Erweiterung haben die PHP-Entwickler durch die neue fileinfo-Erweiterung mit gebündelter libmagic-Bibliothek ersetzt.