|

|
PHP (rekursives Backronym für „PHP: Hypertext Preprocessor“, ursprünglich „Personal Home Page Tools“) ist eine Skriptsprache mit einer an C bzw. C++ angelehnten Syntax, die hauptsächlich zur Erstellung von dynamischen Webseiten oder Webanwendungen verwendet wird. PHP ist Open-Source-Software.
PHP zeichnet sich besonders durch die leichte Erlernbarkeit, die breite Datenbankunterstützung und Internet-Protokolleinbindung sowie die Verfügbarkeit zahlreicher, zusätzlicher Funktionsbibliotheken aus. Es existieren beispielsweise Programmbibliotheken, um Bilder und Grafiken zur Einbindung in Webseiten dynamisch zu generieren.
PHP wurde 1995 von Rasmus Lerdorf entwickelt. Der Begriff stand damals noch für Personal Home Page Tools und war ursprünglich eine Sammlung von Perl-Skripten, die Rasmus Lerdorf zur Protokollierung der Zugriffe auf seinen Online-Lebenslauf geschrieben hatte. Bald schuf Lerdorf jedoch eine größere Umsetzung in C. In dieser Programmiersprache wird PHP heute noch entwickelt. Das schließlich veröffentlichte PHP/FI (FI stand für Form Interpreter) war Perl sehr ähnlich, wenn auch viel eingeschränkter, einfacher, und ziemlich inkonsistent.
PHP 3 wurde von Andi Gutmans und Zeev Suraski neu geschrieben, da das inzwischen erschienene PHP/FI 2 ihrer Meinung nach für eCommerce zu schwach war. Auch die Bedeutung der Abkürzung „PHP“ wurde hierbei geändert. Lerdorf kooperierte mit Gutmans und Suraski, und so wurde die Entwicklung von PHP/FI eingestellt. Obwohl PHP 3 für den professionellen Einsatz noch keine allzu große Funktionsvielfalt bot bzw. einige Schwächen aufwies, brachte es die Verbreitung von PHP bedeutend voran. Die von Gutmans und Suraski gegründete Firma Zend Technologies Ltd. entwickelte in der Folge die Zend Engine 1, die den Kern der PHP-4-Standardimplementation bildet. Der Name „Zend“ ist aus den beiden Vornamen der Entwickler Zeev und Andi gebildet. Mit PHP 4 wurden die Ausführungsgeschwindigkeit komplexer Applikationen und die Sicherheit bei Verwendung globaler Variablen verbessert. Eingeführt wurden die Unterstützung für viele weitere Webserver, das Sessionmanagement, die Ausgabepufferung sowie viele neue Sprachkonstrukte.
Da das World Wide Web Ende der 1990er-Jahre stark wuchs, bestand großer Bedarf an Skriptsprachen, mit denen sich dynamische Webseiten realisieren lassen. PHP wurde für die Webentwicklung mit der Zeit populärer als der vorherige De-facto-Standard Perl, weil es durch seine Spezialisierung als einfacher erlernbar gilt.
PHP ist eine serverseitig interpretierte Sprache. Das bedeutet, dass der Quelltext – im Gegensatz zu JavaScript, das in der Regel clientseitig ausgeführt wird – nicht an den Browser übermittelt wird, sondern an einen Interpreter auf dem Webserver. Erst dessen Ausgabe wird an den Browser geschickt. In den meisten Fällen ist dies ein HTML-Dokument, wobei es mit PHP aber auch möglich ist, andere Dateitypen, wie z. B. Bilder oder PDF-Dateien, zu generieren.
Mit PHP lassen sich wie mit Perl auch Skripte schreiben, die nichts mit dem WWW zu tun haben. Die GTK-Erweiterung stellt sogar eine Programmierschnittstelle für eine grafische Oberfläche zur Verfügung, für die weder ein Webserver noch ein Browser benötigt werden. Verglichen mit „Allzweck“-Skriptsprachen wie Python, Ruby und Perl sind die Schnittstellen für die grafische Oberfläche und zu anderen Betriebssystemfunktionen aber spärlich und werden kaum verwendet. PHP spielt seine Stärken vor allem beim Einsatz auf Webservern aus.
Um eine PHP-Datei im Rahmen einer Webanwendung ausführen zu können, benötigt man ein System, das mit den in der Datei enthaltenen Anweisungen umgehen kann. Aus diesem Grund wird durch eine Schnittstelle (beispielsweise ISAPI oder CGI) der Interpreter von einem Serverdaemon bzw. Serverdienst (z. B. Apache oder IIS) ausgeführt. Die Kombination von Linux/Windows als Betriebssystem, Apache als Webserver, MySQL-Server als Datenbank und PHP wird LAMP bzw. WAMP genannt. Fertige LAMP- und WAMP-Pakete, die das einzelne Laden und Konfigurieren von Paketen aus dem WWW unnötig machen, werden im Projekt XAMPP entwickelt, wobei es inzwischen Versionen für Linux, Solaris, Windows und Mac OS X gibt.
Die Vorteile der serverseitigen Ausführung sind, dass beim Client (Browser) keine speziellen Fähigkeiten erforderlich sind oder Inkompatibilitäten auftreten können, wie es beispielsweise bei JavaScript und den verschiedenen Browsern der Fall ist. Außerdem bleibt der PHP-Quelltext der Seite auf dem Server, und nur die generierten Daten sind für den Besucher einsehbar. Gleiches gilt für andere Ressourcen wie z. B. Datenbanken, die daher auch keine direkte Verbindung zum Client benötigen.
Nachteilig ist, dass jede Aktion des Benutzers erst bei einem erneuten Aufruf der Seite erfasst werden kann. Da PHP normalerweise in einer Webserverumgebung läuft, unterliegt es auch dem zustandslosen HTTP. Außerdem wird jede PHP-Seite vom Server interpretiert, wodurch dessen Belastung steigt. Diese Vor- und Nachteile sind nicht PHP-spezifisch, sondern treten bei grundsätzlich jeder Webanwendung auf. Zusätzlich liest, prüft und übersetzt der Interpreter den Quelltext bei jedem Aufruf erneut. Dies mindert die Reaktionsgeschwindigkeit des Servers und erhöht nochmals die Last. Um dem entgegenzuwirken, wurde eine Erweiterung namens MMCache entwickelt. Diese speichert eine zur Ausführung vorbereitete Version des Programms zwischen und beschleunigt somit den Zugriff auf diese Datei beim nächsten Aufruf. Der MMCache wird inzwischen nicht mehr weiterentwickelt, seine Stelle nimmt der Nachfolger eAccelerator ein.
zurück
|