Umstieg auf PHP 5
Upgrade, bitte!

DeveloperIT-ProjekteSoftware

Langsam wird es ernst in Sachen PHP 5. Die neue Version der Skriptsprache muss die ersten Härtetests im realen Einsatz bestehen. Was Sie beim Umstieg beachten müssen.

Aktueller Stand

Umstieg auf PHP 5

Die Euphorie bei der Präsentation von PHP 5 war unübersehbar. Allerdings musste die Skriptsprache zu diesem Zeitpunkt auch noch keine ernstliche Bewährungsprobe antreten. Die Programmierung spielte sich da noch so gut wie ausschließlich in den Kämmerchen der Entwickler ab und weniger im realen Web. Immerhin lösten dann die ersten praktischen Aktivitäten schon bald eine fast hektische Update-Serie aus. Im Monatsrhythmus gab es neue PHP-Releases (5.01 am 12. August 2004 und 5.02 am 23. September 2004).

Profianwender wie der CMS-Hersteller Six ließen sich davon nicht beirren
und setzten bei ihren Produkten voll auf PHP 5. Für Normaluser mit gemieteten Shared-Hosting-Paketen stellte sich die Frage nach PHP 5 noch nicht, weil die meisten Provider erst einige Monate verstreichen ließen, bis sie ihren Kunden die neueste PHP-Version zur Verfügung stellten.


Implementierungen der Provider

Umstieg auf PHP 5

Bei der Implementierung gehen die Webhosting-Provider unterschiedliche Wege. Die schlichtere Implementierung erfolgt über die Datei-Extension. Alles mit .php5 wird mit PHP 5 interpretiert, der Rest wie gehabt mit PHP 4.

Dies stellt natürlich nur für neu programmierte Applikationen einen gangbaren Weg dar. Wer einen Versuch unternimmt, Powerapplikationen wie PhpMyAdmin, PhpBB oder Post Nuke mit einer Unzahl miteinander korrespondierender Module nach diesem Muster umzustricken, wird sich schwer tun. Das Ergebnis dürfte weniger eine funktionsfähige PHP-5-Applikation sein, als ein Skript, das wegen übersehener Verknüpfungen nicht mehr lauffähig ist.

Eleganter sind die Implementierungen von Providern, bei denen die Mieter über eine .htaccess-Datei den PHP-Interpreter für komplette Unterverzeichnisse festlegen können, ohne die File-Namen der einzelnen Skripts ändern zu müssen.

Hier ein paar Beispiele für die PHP-5-Implementierungen einiger bekannter Hosting-Provider:

Hosteurope (www.hosteurope.de) hatte sich im Vorfeld am weitesten aus dem Fenster gelehnt und nach dem ersten Release von PHP 5 angekündigt, seine ganzen Hosting-Pakete künftig nur noch mit PHP 5 anzubieten. Diese Position war vor dem Hintergrund der konkreten ersten Erfahrungen mit der neuesten PHP-Version natürlich nicht zu halten. Deshalb fährt der Provider jetzt ebenfalls zweigleisig. Standard ist PHP 4.x, Skripts mit der Dateiendung PHP5 werden von der neuen Version interpretiert. PHP 5 ist nicht als Apache-Modul implementiert, sondern läuft als CGI. Der Switch via Dateiendung ist natürlich nicht optimal, man kann sich allenfalls mit einer .htaccess-Datei behelfen, die alle Skripts automatisch an den PHP-5-Interpreter schickt. In dieser Datei muss die Zeile AddHandler cgi-script .php stehen.

Auch 1&1 (www.1und1.de) geht den Weg über die Dateiextension, und auch hier läuft PHP 5 als CGI.


Optimale Testumgebung

Umstieg auf PHP 5

Sehr aufgeschlossen gegenüber experimentierfreudigen PHP-Entwicklern zeigt sich der Provider Strato (www.strato.de). Auch hier erfolgt die Zuordnung qua Voreinstellung wieder über die Dateiendung. Optimal vor allem zum Testen schon installierter Skripts auf PHP-5-Tauglichkeit ist jedoch die Option, über eine .htaccess-Datei die Zuordnungen zu verändern.

Wenn Sie zum Beispiel das Weblog WordPress auf Ihrem Webspace installiert haben und testen wollen, ob es auch unter PHP 5 läuft, stellen Sie einfach eine .htaccess-Datei in den Folder wordpress, in dem sich die Applikation befindet. Der Inhalt besteht aus der einen Zeile AddType application/x-httpd-php5 .php. Damit legen Sie fest, dass WordPress unter PHP 5 läuft. Gibt es Probleme, löschen Sie einfach die .htaccess-Datei oder kommentieren die Zeile aus.

Auch der Provider Domainfactory (www.domainfactory.de) bietet die Zweigleisigkeit Dateiendung oder Steuerung über eine .htaccess-Datei. Umstiegswillige PHP-Entwickler finden dort also ebenfalls eine optimale Testumgebung vor. Insgesamt zeigt sich, dass PHP 5 (noch) nicht unbedingt das Lieblingskind der Provider ist. Vielfach liest man in FAQs oder Support-Foren der Provider vor allem Warnungen und Bedenken hinsichtlich des Produktiveinsatzes von PHP 5.


Alternative Root-Server

Umstieg auf PHP 5

Fein heraus sind beim Umstieg Mieter von dedizierten Servern mit Root-Zugang. Sie können die PHP-Umgebung nach ihren eigenen Wünschen zusammenstellen. Die eigene Implementierung von PHP 5 aus den zur Verfügung stehenden Sourcen erfordert jedoch einiges Know-how und sollte nur von Linux-Spezialisten vorgenommen werden. Wer dennoch nicht auf eine PHP 5-Testumgebung auf seinem Linux-Server verzichten will, dem steht mit XAMPP (www.apachefriends.org/de) ein einfach zu installierendes Lamp-Gesamtpaket mit zahlreichen nützlichen Zusatz-Tools zur Verfügung.

Folgende Module sind Bestandteil des XAMPP-Pakets: Apache 2, MySQL 4.0.20, PHP 5.0.0 und 4.3.8, Open SSL, PhpMyAdmin, Webalizer, Mercury Mail Transport System für Win32 und Netware, Filezilla FTP Server, SQLite, ADODB und der Zend Optimizer.

Nach dem Download des aktuellen Pakets führen Sie zur Installation unter Linux folgende Schritte aus:

– Zuerst rufen Sie eine Linux-Shell auf. Dann melden Sie sich mit dem Kommando su als System-Administrator root an.

– Als Nächstes entpacken Sie das heruntergeladene Archiv mit dem Kommando tar xvfz xampp-linux-1.4.9a.tar.gz ?C /opt. Beachten Sie dabei, dass eine bereits installierte Version von XAMPP dadurch überschrieben wird. Wenn Sie das vermeiden wollen, müssen Sie auf ein verfügbares XAMPP-Upgrade zurückgreifen.

Das war?s: XAMPP ist nun im Verzeichnis /opt/lampp installiert.
Zum Starten von XAMPP tippen Sie einfach den Befehl /opt/lampp/lampp start ein. Sie erhalten auf dem Bildschirm folgende Mitteilungen:

Starte XAMPP für Linux 1.4.9a...
XAMPP: Starte Apache mit SSL...
XAMPP: Starte MySQL...
XAMPP: Starte ProFTPD...
XAMPP gestartet.

Fehlermeldungen können hier zum Beispiel auftauchen, wenn auf Ihrem Linux-System schon ein Lamp-System läuft.


PHP-Version auswählen

Umstieg auf PHP 5

Was XAMPP gerade für Entwickler, die einen Umstieg auf PHP 5 planen, besonders attraktiv macht, ist die Switch-Option, mit der Sie einfach zwischen PHP 4 und PHP 5 umschalten können. Standardmäßig aktiviert ist PHP 5. Mit dem Kommando /opt/lampp/lampp php4 schalten Sie auf die Version 4 um und mit /opt/lampp/lampp php5 geht es wieder retour. Welche PHP-Version gerade aktiv ist können Sie mit dem Befehl /opt/lampp/lampp phpstatus abfragen.

Mit dieser Konstellation auf Ihrem Server ist es einfach, die PHP-5-Tauglichkeit Ihrer Skripts unkompliziert zu testen. Schalten Sie dazu auf die Version 5 um und starten Sie Ihr Skript. Treten Probleme auf, wechseln Sie einfach auf die ältere Version. Wenn es hier keine Probleme gibt, ist es offensichtlich, dass Ihr Skript zur PHP 5-Version noch nicht kompatibel ist.

Die XAMPP-Installation stellt übrigens eine fertige Startseite im Document-Root zur Verfügung, auf die Sie via Browser unter http://localhost zugreifen können. Auf dieser Startseite gibt mehrere Links zum Testen der Installation sowie einige Programmbeispiele. Sie können diese Startseite jederzeit durch eine eigene Seite ersetzen. Über http://localhost/xampp/ können Sie nach wie vor die XAMPP-Startseite erreichen.


Thema Sicherheit

Umstieg auf PHP 5

Ein wichtiger Punkt bei der XAMPP-Installation ist das Thema Sicherheit, dem Sie unbedingt Aufmerksamkeit schenken sollten. XAMPP ist in erster Linie als Entwicklungsumgebung gedacht und weniger für den Produktionseinsatz. Das hat zur Folge, dass XAMPP sehr offen vorkonfiguriert ist, was für Entwickler von Vorteil ist, bei einem Produktionseinsatz allerdings fatale Sicherheitsrisiken mit sich bringen würde.

Die Liste der Unsicherheiten umfasst insbesondere folgende Punkte:

– Der MySQL-Administrator (root) hat kein Passwort.

– Der MySQL-Dämon ist übers Netzwerk erreichbar.

– Der ProFTPD-Dämon benutzt das Passwort lampp.

– PhpMyAdmin ist übers Netzwerk erreichbar.

– MySQL und Apache laufen unter der gleichen Benutzerkennung (nobdoy).

Auf der XAMPP-Startseite finden Sie den Punkt Sicherheits-Check, über den Sie sich den aktuellen Sicherheitszustand Ihrer XAMPP-Installation anzeigen lassen können. Mit einem einfachen Befehl können Sie den Sicherheitsstatus Ihrer Installation jederzeit wesentlich erhöhen. Geben Sie als Root-User dazu den Befehl /opt/lampp/lampp security ein.

Die Routine präsentiert Ihnen einige Optionen und verlangt von Ihnen die Eingabe diverser Passwörter. Danach befindet sich Ihre XAMPP-Umgebung auf einem wesentlich höheren Sicherheitslevel, was eine unerlässliche Voraussetzung für den Betrieb in einem Netzwerk oder im Internet darstellt.

Für Start und Stop der XAMPP-Umgebung stehen übrigens eine ganze Reihe von Parametern zur Auswahl, über die Sie Zugriff auf einzelne Module der Gesamtinstallation haben. Ebenso einfach wie die Installation ist das Entfernen von XAMPP, wenn Sie dessen Dienste nicht mehr benötigen. Mit dem Kommando rm ?rf /opt/lampp löschen Sie die gesamte XAMPP-Umgebung auf Ihrem Server wieder.


Wege zum Umstieg

Umstieg auf PHP 5

Betrachtet man die verschiedenen Varianten, die es für den Einstieg in die PHP-5-Programmierung gibt, so ist offensichtlich, dass sich alles noch mehr oder weniger in einem Experimentierstadium befindet. Innovationsfreudige Entwickler haben jedoch schon jetzt genügend Möglichkeiten zum Testen und Experimentieren, sowohl als Mieter eines Servers wie auch eines Shared-Hosting-Pakets. Die werden beim sich abzeichnenden Durchbruch von PHP 5 dann in jedem Fall die Nase vorn haben.