Websiteentwicklung: PHP: Beschreibung

Aus Wikibooks

PHP (rekursive Abkürzung von PHP: Hypertext Preprocessor) ist eine serverseitige Open-Source-Skriptsprache, die vorwiegend zur Erstellung dynamischer Webseiten verwendet wird. Die aktuelle Version steht unter php.net zum Download zur Verfügung. Dort befindet sich ebenfalls eine hervorragende ausführliche Dokumentation der umfangreichen Funktionen. In der Wikipedia finden Sie nähere Informationen über PHP und seine Geschichte.

Vorteile von PHP[Bearbeiten]

  1. PHP ist leicht zu lernen – Umsteiger werden auf den ersten Blick die Ähnlichkeiten mit Java oder C++ erkennen und schon nach wenigen Minuten sollten sich die Meisten wie zu Hause fühlen. Neulinge können schnell in die Programmierung einsteigen und bald erste Ergebnisse im Browser betrachten.
  2. PHP ist frei verfügbar – Jeder kann den Quellcode von PHP einsehen und nach seinen Vorstellungen verbessern oder weiterentwickeln. Wer einfach nur PHP-Skripte entwickeln will, kann sich jederzeit kostenlos die Software herunterladen und auf seinem Rechner installieren.
  3. PHP ist vielseitig – Es sind PHP-Versionen für Unix, Windows, Mac OS und einige andere Plattformen verfügbar. Es kann als SAPI oder CGI mit dem Webserver kommunizieren und mit dem CLI kann man sogar Kommandozeilen-Skripte programmieren, oder kann über Milter zur Mailanalyse herangezogen werden. PHP hat standardmäßig viele Schnittstellen zu anderen Programmiersprachen und Datenbanken.
  4. PHP ist populär – Mittlerweile verwenden viele Millionen Internetseiten PHP. In unterschiedlichsten Einsatzgebieten und Webseiten, die von der einfachen Homepage bis zum Mega-Webportal reichen, hat sich PHP bereits bewährt.
  5. PHP ist gut dokumentiert – Die einfache Erlernbarkeit von PHP ist wohl vor allem der ausgesprochen guten Homepage zu verdanken. Allerdings gibt es auch endlos viele Bücher, Foren und Newsgruppen zum Thema PHP.

Nachteile von PHP[Bearbeiten]

  1. PHP hat bislang keinen Anwendungs-Server – Das heißt, alle Variablen müssen bei jedem Aufruf wieder neu geladen bzw. berechnet werden.
  2. PHP ist populär – Was oft ein Vorteil ist kann durchaus auch ein Nachteil sein. Schwachstellen in PHP oder PHP-Skripten können schneller und wirksamer ausgenutzt werden, weil viele potentielle Opfer verfügbar sind.
  3. PHP ist leicht zu lernen – Auch das kann ein Nachteil sein, weil deshalb viele PHP-Projekte ohne das nötige Hintergrundwissen verwirklicht werden. Die Folge davon ist, dass viele Websites gravierende Sicherheitsmängel aufweisen.
  4. PHP ist eine rein interpretierte Sprache und die erzeugten Programme damit vergleichsweise langsam in der Ausführung. Dies kann jedoch durch Verwendung von Op-Code-Caches ausgeglichen werden.
  5. PHP hat im Gegensatz zu anderen Skriptsprachen keine Möglichkeiten der Programmierung von Threads.

Unterschiede der verschiedenen Formen PHPs[Bearbeiten]

Es gibt Unterschiede der einzelnen Formen PHPs, die Sie kennen sollten, um bei wechselnden Anforderungen die beste Auswahl für den Einsatz treffen zu können.

PHP als Webservermodul[Bearbeiten]

PHP kann in einer ganzen Reihe von Webservern als Modul integriert werden. Zu den unterstützten Servern gehören derzeit AOLserver, Apache, caudium, Continuity Server, Netscape, Pi3web, Roxen, Sun, thttpd, Zeus und weitere (teils) veraltete Webserver.

PHP als Webservermodul eignet sich für leistungskritische Einzelprojekte, da nicht für jedes Skript ein neuer Prozess erstellt werden muss.

  • Die Leistung eines Webservermoduls ist erheblich besser als die eines CGI-Binärs.
  • HTTP-AUTH ist nur mit PHP als Modul möglich.
  • PHP führt Code standardmäßig unter dem selben Benutzer und der selben Gruppe wie den Webserver aus, was zu Problemen mit der Sicherheit führen kann.
  • Das Nachladen von PHP-Modulen durch dl() ist auf multithreaded Servern nicht möglich.
  • Jedes Skript wird in dem Verzeichnis ausgeführt, in dem es abgelegt wurde.

PHP als CGI[Bearbeiten]

Über CGI kann PHP mit jedem Webserver zusammenarbeiten. Es ist die Standardmethode und eignet sich für Shared Hosting.

  • Die Leistung des CGI-Binärs ist erheblich schlechter, als die eines Webservermoduls. Daher wird PHP in den letzten Jahren vermehrt mit FAST-CGI genutzt.
  • Es können mehrere differierende Versionen PHPs parallel genutzt werden.
  • Für jedes Skript wird ein neuer Prozess gestartet. Daher ist es möglich, diese unter verschiedenen Benutzern und Gruppen auszuführen.
  • Jedes Skript wird in dem Verzeichnis ausgeführt, in dem es abgelegt wurde.

PHP als CLI[Bearbeiten]

CLI wurde erstmalig mit Version 4.2.0 experimentell eingeführt und ist seit Version 4.3 offizieller Bestandteil.

  • Mit Hilfe des CLI-Binärs kann man die gesamte Flexibilität und Funktionalität PHPs an der Kommandozeile nutzen. Es lassen sich eigene Administrationstools erstellen – ja sogar Daemons/Serveranwendungen schreiben. Mit der Erweiterung GTK sind auch GUI-Anwendungen möglich.
  • Programme werden, anders als CGI-Skripte, im aktuellen Arbeitsverzeichnis der Kommandozeile ausgeführt. Dieses kann zu unerwarteten Fehlern beim Portieren/Ausführen von Skripten führen, welche für Webanwendungen geschrieben wurden.
  • CLI öffnet beim Start die Streams stdin, stdout und stderr selbständig.
  • Es kann sowohl als Datei abgelegten Code, als auch Code über den stdin ausführen.
  • Einige Funktionen (z. B.: header()) sind deaktiviert.