Skip to main content

PHP


PDF herunterladen

Was ist PHP?

PHP (rekursive Abkürzung für “PHP: Hypertext Preprocessor”) ist eine der weltweit am häufigsten genutzten Skriptsprachen [1], die das Erstellen dynamischer Websites und Webanwendungen wie Blogs, CM-Systemen, Foren oder Onlineshops ermöglicht. Seine Popularität verdankt PHP unter anderem der Verfügbarkeit vieler Schnittstellen zu Datenbanken wie MySQL und anderen Programmiersprachen sowie der guten Dokumentation. Zudem ist die Skriptsprache relativ leicht zu erlernen. Vor allem Anwender, die sich bereits in C, C++, Java oder Perl zu Hause fühlen, finden durch die in vielen Bereichen ähnliche Syntax schnell Zugang zu PHP. Die Verbreitung von PHP erfolgt unter der freien PHP-Lizenz für nahezu alle gängigen Betriebssysteme.

Entwicklung von PHP

Die Geschichte von PHP beginnt im Jahr 1995. Damals veröffentlichte der dänisch-kanadische Programmierer Rasmus Lerdorf die Version 1.0 seiner “Personal Home Page Tools” (kurz: PHP Tools) [2]. Dabei handelte es sich um eine Sammlung von ihm verfasster Skripte, die unter anderem die Zugriffe auf seinen Online-Lebenslauf tracken sollten. Darüber bot der Vorläufer des heutigen PHPs verschiedene weitere Funktionen wie ein Gästebuch, mit dem Anwender der PHP Tools ihre Website erweitern konnten.

Mit der Zeit stiegen die Besucherzahlen auf Lerdorfs Website, weshalb er die Skripte überarbeitete und in C neu verfasste. Die neue Version hörte auf den Namen “PHP/FI” (FI = Form Interpreter) und bot unter anderem einen Support für DBM-, mSQL- und Postgres95-Datenbanken, Cookies und vieles mehr. Kurz darauf machte der IT-Spezialist den Quellcode öffentlich, wodurch andere Programmierer die Möglichkeit erhielten, PHP/FI weiterzuentwickeln.

1997 formte sich eine Gruppe aus mehreren Programmierern, die PHP/FI für ihre Zwecke (unter anderem E-Commerce) überarbeiten wollten. Die beiden Köpfe waren die israelischen Studenten Andi Gutmans und Zeev Suraski. Sie verfassten unter anderem den Interpreter neu und merzten zahlreiche Fehler aus. Dabei standen sie in regem Austausch mit PHP-Erfinder Rasmus Lerdorf. Die neue Version trug die Bezeichnung PHP 3.0 (oder PHP 3) und trug maßgeblich zur Verbreitung der Skriptsprache bei. Zur besten Zeit liefen etwa 10 % aller Webanwendungen auf Basis PHP 3.0.

In den folgenden Jahren gründeten Gutmans und Suraski die Zend Technologies Inc. (unter anderem für die Entwicklung der Zend Engine verantwortlich). Daneben entstanden zahlreiche Projekte, die auf PHP aufbauen. Ein bekanntes Beispiel ist das 1998 von Tobias Ratschiller veröffentlichte Datenbank-Tool “phpMyAdmin”, das unter anderem die Administration von MySQL- und MySQL-ähnlichen Datenbanken erheblich vereinfachte. Es folgten weitere Versionen der Skriptsprache, die verschiedene Änderungen mit sich brachten. PHP 4 war beispielsweise modularer aufgebaut und brachte neue Funktionen wie das Sessionmanagement mit.

Das im Sommer 2005 veröffentlichte PHP 5 machte wichtige Schritte in Richtung objektorientierte Programmierung und brachte die Integration von SQLite mit. Die PHP-Version 6.0 wurde ausgelassen [3]. Sie sollte unter anderem einen UTF8/Unicode-Support beinhalten, erblickte aber aufgrund verschiedener Probleme niemals das Licht der Welt. Viele Funktionen, die für die Version 6.0 geplant waren, hielten in dem 2015 in einer Alpha-Version veröffentlichten PHP 7.0 Einzug.

Die aktuellste Version (Stand 11/2022) ist die 2020 erschienene PHP 8. Sie unterstützt unter anderem die sogenannte Just-in-time-Kompilierung (JIT-Compiler). Diese Technologie ermöglicht eine schnellere Ausführung von Code. Das führt besonders bei sehr rechenintensiven Anwendungen wie Machine-Learning oder künstlicher Intelligenz zu einer spürbaren Steigerung der Performance. Darüber hinaus bietet PHP 8 neue Funktionen wie WeakMaps und eine Unterstützung für beliebige Union Types. Wann die PHP-Version 9.0 erscheinen soll, ist nach aktuellem Kenntnisstand noch nicht bekannt.

Wie funktioniert PHP?

Bei PHP handelt es sich um eine sogenannte serverseitige Skriptsprache. Das bedeutet, dass der PHP-Code im Gegensatz zu clientseitigen Skriptsprachen wie beispielsweise JavaScript nicht im Webbrowser des Nutzers, sondern in einem Interpreter auf dem Webserver ausgeführt wird. Erst die Ausgabe des Interpreters wird – in der Regel als HTML-Dokument – an den Browser des Nutzers übermittelt und entsprechend dargestellt. So bekommt der Nutzer nicht den Quellcode des PHP-Skripts, sondern nur das daraus generierte Resultat zu Gesicht. Neben HTML-Dateien können mittels PHP auch weitere Dokumententypen wie Bilder oder PDF-Dateien dynamisch erzeugt und im Browser des Nutzers ausgegeben oder zum Download bereitgestellt werden.

Eine Vielzahl von Möglichkeiten ergibt sich durch die Möglichkeit des Zugriffs von PHP-Skripten auf zum Beispiel MySQL-basierte Datenbanken. Auf diese Weise lassen sich vielschichtige Informationen abfragen und dynamisch in HTML-Dokumente einbinden. Ein wichtiges Thema beim Einsatz von PHP – mit und ohne Kombination von Datenbanken – ist die Performance. Denn bei jedem Aufruf durch einen Nutzer muss der PHP-Code erneut durch den Interpreter, was den Webserver bei vielen parallelen Besuchern mitunter stark belasten kann. Um die Serverlast nachhaltig zu reduzieren und die Performance zu verbessern, kommen bei PHP deshalb verschiedene Cache-Technologien wie das Bytecode-Caching zum Einsatz. Diese speichern verarbeitete Informationen zwischen und stellen diese bei einem erneuten Abruf schnell zur Verfügung, ohne den Server erneut zu belasten.

Ablauf des Abrufs und der serverseitigen Verarbeitung eines PHP-Skripts

In dem folgenden Beispiel greift ein Nutzer auf die Spielerdatenbank eines Sportvereins zu.

  1. Der Webbrowser sendet einen GET-Request an die Datei spieler.php.
  2. Der Apache-Webserver registriert die Anfrage und leitet sie an den PHP-Interpreter weiter.
  3. Der Interpreter führt den Code aus und fordert die Spielerdaten aus der MySQL-Datenbank an.
  4. Die Datenbank liefert die gewünschten Daten zurück an den PHP-Interpreter.
  5. Der Interpreter leitet die angeforderten Daten an den Apache-Webserver.
  6. Der Webserver generiert eine HTML-Datei und liefert sie zur Ausgabe an den Webbrowser.

Gut zu wissen: Welche Dateien mit PHP arbeiten, muss für den Nutzer nicht unbedingt offensichtlich sein. Der Code lässt sich nämlich nicht nur in Dateien mit der Endung “.php” einbauen, sondern beispielsweise auch in HTML-Dokumente integrieren. Hierzu ein einfaches Beispiel, mit dem ein Text mithilfe des “echo”-Befehls innerhalb einer HTML-Datei ausgegeben wird.

[code]
[html]

[?php
echo “Dies ist ein mittels PHP ausgegebener Text”;
?]

[/html]
[/code]

Wofür wird PHP verwendet?

PHP wird vorwiegend zum dynamischen und serverseitigen Generieren von Websites und Webanwendungen genutzt. Vor allem Websites, die auf Datenbankinhalte zugreifen, sind heute nahezu ausschließlich in PHP verfasst. Dazu gehören zum Beispiel Onlineshops, Communitys wie Foren und Content-Management-Systeme wie Drupal, Joomla!, TYPO3 oder das mit Abstand am häufigsten von privaten und gewerblichen Nutzern verwendete WordPress. Letzteres hat einen großen Anteil an der Verbreitung von PHP, denn geschätzt 40 % aller Websites setzen heute auf das frei verfügbare und mithilfe unzähliger Templates und Plugins an die eigenen Bedürfnisse anpassbare Open-Source-CMS [4].

PHP lässt sich aber nicht nur für Anwendungen nutzen, auf die mittel Webbrowser zugegriffen wird. Auch über die Kommandozeile ist es möglich, PHP-Skripte auszuführen, um verschiedene Aufgaben zu automatisieren. Eine häufig genutzte Variante ist das automatische Aufrufen von PHP-Skripten via CRON-Job (auf Linux-basierten Systemen) oder mithilfe des Task Schedulers (unter Windows). Darüber hinaus ist es möglich, mithilfe der Skriptsprache Desktop-Anwendungen zu entwickeln. Verschiedene Open-Source-Projekte wie zum Beispiel “PHP Desktop” stellen die hierzu benötigten Tools bereit [5].

Welche Vor- und Nachteile hat PHP?

PHP bietet Entwicklern zahlreiche Vorteile wie eine kostenlose Verfügbarkeit, eine gute Dokumentation und große Entwickler-Community, eine breite Unterstützung von Betriebssystemen und kurze Entwicklungszeiten. Doch auch für die Skriptsprache gilt: Wo Licht ist, gibt es auch Schatten. Einer der größten Nachteile von PHP ist die Sicherheit. Denn bei fehlerhafter Programmierung oder veralteten PHP-Paketen sind die Skripte anfällig für externe Angriffe via Cross-Site-Scripting, Code-Injecton oder SQL-Injection. Eine gewisse Erfahrung im Programmieren und das Wissen, wie sich diese Risiken ausschalten lassen, sind deshalb unerlässlich.

Ein weiterer Nachteil kann die Performance der Skripte sein. Denn PHP führt bei hohem Besucheraufkommen einer Website oder mangelhaftem Code schnell zu einer starken Auslastung des Arbeitsspeichers und in der Folge zu langen Lade- bzw. Antwortzeiten. Das kann sich negativ auf die Nutzererfahrung und die SEO-Bemühungen auswirken. Regelmäßige Checks der Serverauslastung und konstante Optimierung des Codes sind deshalb Pflicht.

  • https://www.php.net/ – Offizielle PHP-Website mit Downloads der aktuellen Versionen
  • https://framework.zend.com/ – Offizielle Website des professionellen Zend Frameworks
  • https://github.com/smarty-php/smarty – Website der auf PHP basierenden Smarty Template Engine
  • https://w3techs.com/technologies/details/pl-php – Weltweite Nutzungsstatistiken von PHP

Jetzt den SEO-Küche-Newsletter abonnieren

Ähnliche Artikel

SSL-Verschlüsselung

Einführung in die SSL-Verschlüsselung SSL-Verschlüsselung steht für Secure Sockets Layer-Verschlüsselung und ist eine Technologie, die verwendet wird, um die Übertragung von Daten zwischen einem Webserver und einem Browser zu sichern. Es handelt sich um eine Methode, bei der die Daten zwischen dem Webserver und dem Browser verschlüsselt werden, um sicherzustellen, […]

Netzwerk

Was ist ein Netzwerk? Der Begriff Netzwerk kommt vorwiegend in der Informationstechnologie zur Anwendung und dient hier als Bezeichnung für Rechner und andere elektronische Geräte, die miteinander verbunden (vernetzt) sind. Um ein Netzwerk zu bilden, sind immer mindestens zwei Computersysteme nötig. Diese können entweder über ein Kabel (Ethernet- bzw. Netzwerkkabel) oder drahtlos […]

Key Performance Indicator (KPI)

In der Betriebswirtschaftslehre wird unter Key Performance Indicator (KPI) eine Kennzahl verstanden, die als Leistungsindikator dient. Mit einem KPI lässt sich der Erfolg einer Maßnahme bzw. der Erfüllungsgrad eines zuvor definierten Ziels in Zahlen abbilden und kontrollieren. Indikator für Leistung Kennzahlen werden häufig mit KPIs verwechselt. Eine Kennzahl ist ein […]

EDV

Wofür steht EDV? EDV ist die Abkürzung für elektronische Datenverarbeitung. Der Begriff bezeichnet die Erfassung, die Bearbeitung, den Transport und die Wiedergabe von Daten. Dies geschieht mithilfe von Software auf elektronischen Maschinen und Rechnern. Hierzu zählen neben Computern, Smartphones oder Smartwatches auch Haushaltsgeräte und elektronische Steuerungen. Im Englischen wird die elektronische […]

Domain Name System (DNS)

Was ist das Domain Name System oder DNS? Das DNS, kurz für Domain Name System, ist eine der häufigsten, aber missverstandenen Komponenten im World Wide Web. Einfach ausgedrückt, hilft das DNS dabei, den Datenverkehr im Internet zu lenken, indem Domainnamen mit tatsächlichen Webservern verbunden werden. Im Wesentlichen nimmt das System […]

JavaScript

Was ist JavaScript? JavaScript ist eine verbreitete Programmiersprache. Sie wird vor allem genutzt, um dynamische Elemente in Webseiten einzubinden. Dies können aufklappbare Menüs oder Popup-Fenster sein. Ebenso nutzen Webentwickler die Funktionen häufig, um Eingaben von Benutzern zu verarbeiten. In Formularfeldern kann etwa mithilfe der Programmiersprache geprüft werden, ob fehlerhafte oder […]