PHP

Aus THM-Wiki
Wechseln zu: Navigation, Suche

Dieser Artikel wurde im WS 2007/08 an der FH Gießen-Friedberg erstellt und beschreibt den Glossareintrag "PHP" im Fach MSP.


PHP

PHP (PHP Hypertext Preprocessor, früher: Personal HomePage Tools) ist eine interpretierte, dynamisch typisierte Sprache, die hauptsächlich auf Servern zur Generierung von Internetseiten eingesetzt wird. Die Syntax von PHP ist an die Programmiersprache C angelehnt. Eine wesentliche Eigenschaft von PHP ist die einfache Anbindung der Sprache an zahlreiche SQL Datenbanken. Zu den von PHP unterstützten Datenbanken zählen neben MySQL auch Adabas D, Dbase, FilePro, Informix, MSQL, Oracle, PostgreSQL, Solid, Sybase, Unid dbm und Velocis. PHP unterscheidet sich von anderen Skriptsprachen wie Perl oder TCL unter anderem darin, dass es sich um eine in HTML eingebettete Skriptsprache handelt, die Skripte werden nicht direkt beim Server angefordert.
Der Code von serverseitigen Skriptsprachen wird auf Seiten des Servers interpretiert und der erzeugte HTML-Code an den Client (den Browser) zurückgesendet. Im Gegensatz zu clientseitiger Programmierung (z.B. bei Javascript) erhält der Empfänger der angeforderten Seite keinen Einblick in den ursprünglichen Code. Der PHP-Interpreter, welcher das Dokument übersetzt und den PHP-Quellcode der Seite ausführt, ist entweder direkt als Modul in den Webserver eingebunden oder wird von diesem als CGI-Programm ausgeführt. PHP kann in Kombination mit jedem beliebigen Webserver als CGI-Programm ausgeführt werden. Für den Apache Webserver steht PHP darüberhinaus als Modulversion zur Verfügung.
Die Dateiendung gibt dem Webserver Auskunft darüber, ob es sich um reinen HTML-Code handelt oder ob dieser PHP-Quellcode enthält. Einzelheiten der PHP-Konfiguration können duch die Funktion phpinfo() angezeigt werden (z.B. die Version).

Beispiel

<?php 
phpinfo(); 
?>

Für eine Einführung in PHP sei an dieser Stelle auf den Artikel PHP_Einfuehrung verwiesen.

PHP als CGI-Programm

PHP als CGI-Programm

Bei dieser eher traditionellen Art der Verwendung von PHP wird das Programm typischerweise im cgi-bin-Verzeichnis des Webservers abgelegt. Mit Hilfe eines ScriptAliases kann jedoch ein anderes Verzeichnis für den PHP-Interpreter gewählt werden.
Wie für CGI typisch, wird bei jeder Anfrage, die als Aufruf eines PHP-Skripts erkannt wird, PHP als neuer Prozess gestartet. PHP wird geladen und die gewünschte Seite interpretiert und ausgeführt. Nach der Ausführung der Seite muss der Prozess, in dem PHP gelaufen ist, wieder beendet werden.

PHP als Apache-Modul

PHP als Apache Modul

Bei dieser Variante kann die Effizienz im Vergleich zur Ausführung als CGI-Programm deutlich gesteigert werden. PHP wird als Unterprogramm dauerhaft in den Apache Webserver integriert und somit zum Bestandteil des Apache. Eine Initialisierung, wie sie bei der CGI-Variante bei jedem Aufruf eines Skripts von nöten ist, ist somit nicht mehr notwendig. Eine ständige Bereitschaft, Skripte auf Anforderung zu interpretieren und auszuführen, und damit eine höhere Verarbeitungsgeschwindigkeit sind die Folge.
Die Sicherheitskriterien orientieren sich an denen des Apache Webservers. Bei den Versionen ab PHP4.0.0 ist der Datenbankserver MySQL bereits integriert und muss so im conf- Skript nicht mehr als einzubindendes Modull (–with-mysql) angegeben werden.
Bei Verwendung des Apache Webservers mit PHP und MySQL empfiehlt sich auch der Einsatz von XAMPP, einem Softwarepaket, das sich aus dem Apache Webserver, MySQL, Perl und PHP zusammensetzt. Durch die Dynamik, d.h. durch den Vorgang der serverseitigen Interpretation des PHP-Codes, der die dynamische Erstellung der Seite (Abhängigkeit von einer Benutzerinteraktion, Zugriffszeitpunkt) bewirkt, sind PHP-Seiten geringfügig langsamer als statische HTML-Seiten.

Installation

Windows

Windows

Windows-User erhalten PHP durch installation von XAMPP.

Linux

Tux.png

Debian

  1. root werden
  2. aptitute install php5
  3. Fertig :)


Info.png

Das Paket ist ein MetaPaket. Es werden weitere Pakete in Abhängigkeit installiert.
aptitude show php5



Literatur

Rolf D. Stoll, Gudrun Anna Leierer - PHP 4 + MySQL

Links