Archive for Juni, 2011

PHP 5.3 parallel zu PHP 4 und PHP 5.2 verfügbar

Dienstag, Juni 21st, 2011

Ab sofort ist bei uns die aktuellste Version (5.3.6) der Skriptsprache PHP nutzbar. Wir haben lange mit der Einführung gezögert, da nicht alle Anwendungen kompatibel mit der neuen Version sind und wir keine Ausfälle bei unseren Kunden riskieren wollten. Daher führen wir PHP 5.3 nun parallel zu PHP 5.2 ein. Da PHP 5.2 jedoch schon seit dem 16.12.2010 nicht mehr weiterentwickelt wird und wir unseren Kunden stets die neuesten Features bereitstellen wollen, werden wir ab dem 15.07. alle PHP-Skripte standardmäßig mit PHP 5.3 ausführen (derzeit: PHP 5.2).

Welche Änderungen bringt der Wechsel von 5.2 auf 5.3 mit sich?

Die PHP-Entwickler haben alle Änderungen auf einer Migrationsseite zusammengestellt. Sauber programmierte Anwendungen sind im Wesentlichen abwärtskompatibel, laufen also ohne Probleme auch mit PHP 5.3. Eine wichtige Änderung ist, dass eine Funktion innerhalb einer Klasse mit dem gleichen Namen wie die Klasse ab 5.3 nicht mehr als Konstruktor verwendet werden kann. Dazu ist schon seit längerem die Funktion __construct() der saubere Weg, der mit 5.3 nun erzwungen wird.

Wieso funktionieren Anwendungen mit dem ZendOptimizer in PHP 5.3 nicht mehr?

Weil es den ZendOptimizer ab PHP 5.3 schlichtweg nicht mehr gibt. Zend hat ihn durch eine Neuentwicklung namens ZendGuard ersetzt. Für den ZendOptimizer kodierte Anwendungen können jedoch vom ZendGuard nicht ausgeführt werden. Bitte prüfen Sie, ob der Hersteller Ihre Anwendung auch für den ZendGuard kodiert bereitstellt, oder alternativ für den ionCube Loader, einem ebenfalls populären Format. Eine Anleitung zur Installation des ionCube Loaders finden Sie in unserer FAQ.

Wie kann ich testen, ob meine Anwendung mit PHP 5.3 funktioniert bzw. wie kann ich PHP 5.3 schon vor der Umstellung einsetzen?

Bitte legen Sie im Verzeichnis ihrer Anwendung eine Datei namens .htaccess an an fügen Sie dort folgenden Inhalt sein:

AddHandler application/x-httpd-php53 .php

Damit definieren Sie, dass alle Dateien mit der Endung .php mit PHP 5.3 ausgeführt werden. Sie können testen mit welcher Version die Dateien ausgeführt werden, in dem Sie sich eine Datei z.B. namens phpinfo.php mit folgendem Inhalt anlegen:

<?
phpinfo();
?>

Die Ausgabe sollte mit der Überschrift PHP Version 5.3 beginnen. Die Ausgabe des phpinfo()-Befehls in den verschiedenen Versionen können Sie auch hier einsehen.

Meine Anwendung funktioniert nicht mit PHP 5.3. Wie kann ich die automatische Umstellung verhindern?

Zuerst sollten Sie wirklich versuchen, die Ursache für das Problem zu finden. Ältere PHP-Versionen werden nicht weiterentwicklet und es gibt langfristig auch keine Sicherheitsupdates mehr – die Nutzung älterer PHP-Versionen ist daher nicht sinnvoll. Auch wenn Sie vielleicht nicht sofort die Zeit haben um die nötigen Änderungen im Quellcode umzusetzen, sollten Sie diesen Schritt auf jeden Fall im Hinterkopf behalten.

Die Ausführung auf PHP 5.2 festzulegen funktioniert ganz ähnlich wie das obige Beispiel mit PHP 5.3: Bitte legen Sie im Verzeichnis ihrer Anwendung eine Datei namens .htaccess an und fügen Sie dort folgenden Inhalt sein:

AddHandler application/x-httpd-php52 .php

Damit definieren Sie, dass alle Dateien mit der Endung .php mit PHP 5.2 ausgeführt werden, auch nach der Umstellung. Sie können die Version der Ausführung ebenfalls mit dem phpinfo-Beispiel oben testen.

Wir hoffen, dass wir Ihnen mit diesen Hinweisen helfen konnten. Für weitere Fragen stehen wir natürlich wie immer über unsere kostenlose Hotline oder per E-Mail zur Verfügung.