- Personal Home Page Tools
-
PHP
serverseitig interpretierte SkriptspracheBasisdaten Paradigmen: imperativ, objektorientiert Erscheinungsjahr: 1995 Designer: Rasmus Lerdorf Entwickler: The PHP Group Aktuelle Version: 5.2.9 (26. Februar 2009) Aktuelle Vorabversion: 5.3.0RC1 (24. März 2009) Typisierung: schwach, dynamisch Einflüsse: Perl, C, C++, Java Betriebssystem: plattformunabhängig Lizenz: PHP License www.php.net PHP (rekursives Akronym für „PHP: Hypertext Preprocessor“, Backronym aus „Personal Home Page Tools“) ist eine Skriptsprache mit einer an C angelehnten Syntax, die hauptsächlich zur Erstellung von dynamischen Webseiten oder Webanwendungen verwendet wird.[1] 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.
Inhaltsverzeichnis
Geschichte
PHP wurde 1995 von Rasmus Lerdorf entwickelt. Der Begriff stand damals noch für Personal Home Page Tools und war ursprünglich als Ersatz für eine Sammlung von Perl-Skripten gedacht, die Lerdorf zur Protokollierung der Zugriffe auf seinen Online-Lebenslauf geschrieben hatte.[2] Bald schuf Lerdorf eine umfangreichere Version in der Programmiersprache C, in welcher PHP bis heute entwickelt wird. Das schließlich veröffentlichte PHP/FI (FI stand für Form Interpreter) war Perl sehr ähnlich, wenn auch eingeschränkter.
PHP3
PHP 3 wurde von Andi Gutmans und Zeev Suraski neu geschrieben, da das inzwischen erschienene PHP/FI 2 ihrer Meinung nach für E-Commerce unzureichend war. Lerdorf kooperierte nun mit Gutmans und Suraski, und so wurde die Entwicklung von PHP/FI eingestellt. Diese Version brachte die Verbreitung der Web-Skriptsprache PHP bedeutend voran.
PHP4
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-Standardimplementierung bildet. Mit PHP 4 wurde 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 eine Anzahl neuer 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.
PHP5
Im Sommer 2004 wurde mit Version 5.0 eine weitere Entwicklungsstufe veröffentlicht. Wesentlicher Unterschied zum Vorgänger ist die Zend Engine II, die vor allem ein verbessertes Objektmodell nutzt, somit objektorientierte Anwendungen effizienter ausführt und Sprachkonstrukte wie Überladung ermöglicht. Hinzu kommen Exceptions, Reflections, die Integration der SQLite Datenbank (in Ablösung von MySQL) sowie Erweiterungen bei XML- und DOM-Handhabung.
Wichtige Versionen
Legende: Alte Version Ältere Version; noch unterstützt Aktuelle Version Aktuelle Vorabversion Zukünftige Version Haupt-
versionVersion Veröffentlichung Wichtigste Änderungen 1.x Ältere Version; nicht mehr unterstützt: 1.0 8. Juni 1995 Offiziell "Personal Home Page Tools (PHP Tools)" genannt. Das ist die erste Verwendung des Begriffes "PHP". 2.x Ältere Version; nicht mehr unterstützt: 2.0 16. April 1996 Von den Entwicklern als das "schnellste und einfachste Tool" zum Erstellen von dynamischen Webseiten bezeichnet. 3.x Ältere Version; nicht mehr unterstützt: 3.0 6. Juni 1998 Die Entwicklung wird nicht mehr nur von einer Person vorangetrieben. Zeev Suraski und Andi Gutmans schreiben die Codebasis für diese Version vollständig neu. 4.x Ältere Version; nicht mehr unterstützt: 4.0 22. Mai 2000 Einfache objektorientierte Programmierung hinzugefügt. Hinzufügen einer fortgeschrittenen zweistufigen Parser-/Ausführungsmaschine, Zend Engine genannt.[3] Ältere Version; nicht mehr unterstützt: 4.0.6 23. Juni 2001 Letzte Sicherheits- und Stabilitätsaktualisierung des Entwicklungszweigs 4.0; Fünf Aktualisierungen erschienen zuvor: 4.0.1 bis 4.0.5. Ältere Version; nicht mehr unterstützt: 4.1 10. Dezember 2001 Einführung von 'Superglobals' ( $_GET
,$_POST
,$_SESSION
, etc.)Ältere Version; nicht mehr unterstützt: 4.1.2 12. März 2002 Letzte Sicherheits- und Stabilitätsaktualisierung des Entwicklungszweigs 4.1; Zuvor erschien die Aktualisierung 4.1.1. Ältere Version; nicht mehr unterstützt: 4.2 22. April 2002 Standardmäßige Deaktivierung von register_globals. Daten, die über ein Netzwerk empfangen werden, werden nicht direkt in den globalen Namensraum eingefügt. Damit werden potentielle Sicherheitslücken in der Anwendung verhindert. Ältere Version; nicht mehr unterstützt: 4.2.3 6. September 2002 Letzte Sicherheits- und Stabilitätsaktualisierung des Entwicklungszweigs 4.2; Zwei Aktualisierungen erschienen zuvor: 4.2.1 und 4.2.2. Ältere Version; nicht mehr unterstützt: 4.3 27. Dezember 2002 Einführung von CLI als Zusatz zu CGI. Ältere Version; nicht mehr unterstützt: 4.3.11 31. März 2005 Letzte Sicherheits- und Stabilitätsaktualisierung des Entwicklungszweigs 4.3; Zehn Aktualisierungen erschienen zuvor: 4.3.1 bis 4.3.10. Ältere Version; nicht mehr unterstützt: 4.4 11. November 2005 Hinzufügen von Man Seiten für phpize
undphp-config
Skripten.Ältere Version; nicht mehr unterstützt: 4.4.9 7. August 2008 Letzte Sicherheits- und Stabilitätsaktualisierung des Entwicklungszweigs 4.4; Acht Aktualisierungen erschienen zuvor: 4.4.1 bis 4.4.8. 5.x Ältere Version; nicht mehr unterstützt: 5.0 13. Juli 2004 Zend Engine II mit neuem Objektmodell, das private Methoden und Attribute und Überladung erlaubt. Exceptions hinzugefügt, Reflections API, MySQLi (MySQL verbessert, objektorientiert und auf aktuelle MySQL-Versionen zugeschnitten), SQLite integriert, SimpleXML (einfacher XML-Parser, Update und Insert von Kindelementen möglich), DOM-Unterstützung. Ältere Version; nicht mehr unterstützt: 5.0.5 5. September 2005 Letzte Sicherheits- und Stabilitätsaktualisierung des Entwicklungszweigs 5.0; Vier Aktualisierungen erschienen zuvor: 5.0.1 bis 5.0.4. Ältere Version; nicht mehr unterstützt: 5.1 24. November 2005 Leistungsverbesserungen durch die Einführung von Compilervariablen. Datenbankabstraktionsschicht hinzugefügt ( PDO) Ältere Version; nicht mehr unterstützt: 5.1.6 24. August 2006 Letzte Sicherheits- und Stabilitätsaktualisierung des Entwicklungszweigs 5.1; Fünf Aktualisierungen erschienen zuvor: 5.1.1 bis 5.1.5. Ältere Version; nicht mehr unterstützt: 5.2 2. November 2006 Schnellere und effizientere Speicherverwaltung, Filter-Erweiterung hinzugefügt (Filtern und Verifizieren von Benutzereingaben), JSON hinzugefügt (Serialisierung von PHP-Variablen, nützlich im Zusammenspiel mit Ajax), ZIP (Auslesen und Erstellen von ZIP-Archiven) hinzugefügt, objektorientierte Datums-Erweiterung (DateTime und DateTimeZone) hinzugefügt Aktuelle Version: 5.2.9 26. Februar 2009 Aktuelle Version; Sicherheits- und Stabilitätsaktualisierung; Acht Aktualisierungen erschienen zuvor: 5.2.1 bis 5.2.8. Vorabversion: 5.3.0rc1 24. März 2009 Erster Release Candidate von PHP 5.3; Voraus gingen 5.3 Alpha 1, 5.3 Alpha 2, 5.3 Alpha 3 und 5.3 Beta 1. Die nächsten zu erwartenden Veröffentlichungen/Daten 5.x Zukünftige Version: 5.3 1. Quartal 2009 Unterstützung von Namensräumen (Namespaces); Verbesserter XML-Support durch Nutzung von XMLReader und XMLWriter; SOAP-Unterstützung, Statische Bindung, Jump label (begrenzt auf goto), Closure, Native PHP-Archive 6.x Zukünftige Version: 6.0 Unicode-Support; Entfernung der ereg-Erweiterung, 'register_globals', 'magic_quotes' und 'safe_mode'; Entfernung von mime_magic und Restrukturierung von fileinfo() für besseren MIME-Support In der Regel wird jedem Entwicklungszweig ein Maintainer zugeordnet, der von den Hauptentwicklern bestimmt wird. Der Maintainer ist nun für die Verwaltung und die Pflege des ihm zugeordneten Entwicklungszweiges zuständig. Aktuell ist ausschließlich den Zweigen für PHP 4.4.x, PHP 5.2.x und PHP 5.3.x ein Maintainer zugeordnet.
Ausblick
Zurzeit wird die Version 6.0 entwickelt. Bisher bekannte Änderungen sind zum einen die Entfernung von „Altlasten“ wie Register Globals, Magic Quotes und dem Safe Mode, zum Anderen die Unterstützung von Unicode. Neuerungen wie Namensräume, „late static binding“[4] und ein neuer, nativer MySQL-Treiber waren eigentlich für die Version 6 geplant, sollen nun aber schon in PHP 5.3 eingeführt werden.
Am 13. Juli 2007 hat das Entwickler-Team angekündigt, die Unterstützung für PHP 4 bis zum August 2008 einzustellen.[5][6] Da es zum Zeitpunkt dieser Ankündigung noch zahlreiche PHP 4-Installationen gibt, sind verantwortungsvolle Entwickler und Administratoren zur baldigen Migration ihrer PHP-Anwendungen gezwungen.
Allgemein
PHP ist ein System, das PHP-Code serverseitig verarbeitet. Das bedeutet, dass der Quelltext nicht an den Browser übermittelt wird, sondern an einen Interpreter auf dem Webserver. Erst die Ausgabe des PHP-Interpreters 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 Bilder oder PDF-Dateien, zu generieren.
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 Server-Daemon bzw. Server-Dienst (z. B. Apache oder IIS) ausgeführt. Die Kombination von Linux/Windows als Betriebssystem, Apache als Webserver, MySQL als Datenbanksystem und PHP wird LAMP bzw. WAMP genannt. Fertige LAMP- und WAMP-Pakete, die das einzelne Laden und Konfigurieren von Paketen aus dem Internet unnötig machen, werden u. a. im Projekt XAMPP entwickelt, wobei es inzwischen Versionen für Linux, Solaris, Windows und Mac OS X gibt.
Vorteile der serverseitigen Ausführung sind, dass beim Client (Browser) keine speziellen Fähigkeiten erforderlich sind oder Inkompatibilitäten auftreten können, wie das etwa bei den verschiedenen Ausprägungen von JavaScript 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 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 Webserver-Umgebung läuft, unterliegt es auch dem zustandslosen HTTP. Außerdem wird jede PHP-Seite vom Webserver interpretiert, wodurch dessen Belastung steigt. 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, stehen verschiedene Bytecode-Caches zur Verfügung, die eine zur Ausführung vorbereitete Version des Programmes zwischenspeichern und somit den Zugriff auf diese Datei beim nächsten Aufruf beschleunigen (siehe auch Abschnitt Performance).
Mit PHP lassen sich auch kommandozeilenorientierte Skripte, die vom Internet unabhängig sind, schreiben. 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. Die ersten Versionen der Schnittstellen zur grafischen Oberfläche und zu anderen Betriebssystemfunktionen waren spärlich und wurden kaum verwendet. Die aktuell entwickelte PHP-GTK-Version 2 strebt hingegen eine Abdeckung der GTK-API von 95% an.[7] Gegenwärtig wird PHP jedoch vor allem auf Webservern genutzt.
Code-Beispiel
Einfaches PHP-Skript (gibt „Hallo Welt!“ aus):
<?php echo "Hallo Welt!"; ?>
Anmerkung: echo kann auch durch print ersetzt werden, und es können auch einfache Anführungszeichen (') statt doppelten (") sowie die Heredoc-Syntax[8] verwendet werden. Die Unterscheidung der einfachen von den doppelten Anführungszeichen entscheidet darüber, ob in der Zeichenkette auftauchende Variablennamen unverändert zu übernehmen oder durch den entsprechenden Variableninhalt zu ersetzen sind. Außerdem wird die Bearbeitung von Escape-Sequenzen hierdurch gesteuert.
Das Skript in HTML integriert (gibt ebenfalls „Hallo Welt!“ auf der Webseite aus):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Hallo-Welt-Beispiel</title> </head> <body> <?php echo "Hallo Welt!"; ?> </body> </html>
Kritik
Kritiker führen eine Reihe von Unzulänglichkeiten in PHP an. So sei die Sprache zeitweise ungesteuert gewachsen, es wurden viele ähnlich arbeitende Funktionen oft unterschiedlich benannt und die Reihenfolge der Funktionsparameter stimme bei Funktionen mit ähnlichem Zweck teils nicht überein. Zudem seien trotz vorhandener Objektorientierung die meisten Standardbibliotheken noch prozedural angelegt. Threading fehle in PHP völlig, und einige PHP-Module sind nicht threadsicher.
PHP besitze zudem keinen eigenen Bytecode-Cache, was ohne entsprechende Erweiterung bei jedem Aufruf einer Datei ein komplettes Parsen notwendig macht.
Weiterentwicklung
PHP wird kontinuierlich weiterentwickelt und befindet sich weiterhin in einem Wandel. So wurde etwa die Einstellung der Entwicklung von PHP 4 bekannt gegeben.
Seit der Version 5 unterstützt PHP durch Kapselung der Daten, Destruktoren und Ausnahmebehandlung per Exceptions verbesserte und erweiterte Möglichkeiten der objektorientierten Programmierung. Auch Objekt-Variablen sind in PHP 5 wie bei den meisten Programmiersprachen, nur noch Referenzen auf Objekte und nicht wie in PHP 4 die Objekte selbst. Ebenso wurde dem oft bemängelten uneinheitlichen Zugriff auf verschiedene Datenbanken in der Version 5.1 mit der objektorientierten Datenbankabstraktionsebene PDO entgegengewirkt. Ab der Version 5.3 wird PHP zudem Namensräume unterstützen.[9]
In der Version 6 werden endgültig Probleme verursachende Komponenten wie Magic Quotes[10], der Safe Mode[11] sowie Register Globals[12], die schon länger standardmäßig deaktiviert sind, entfernt. Außerdem werden sämtliche veraltete (deprecated) Funktionen, sowie Aliase von Funktionen entfernt. Auch wird der Standardzeichensatz von ISO 8859-1 auf Unicode geändert.[13] Damit werden vor allem interne Probleme mit Sprachkonstrukten bei der Verarbeitung von Unicode gelöst. Bis PHP 6 gibt es nur wenige Funktionen, bei denen ein Zeichensatz für die Verarbeitung von Zeichenketten angegeben werden kann, sowie Funktionen zur Konvertierung von und nach UTF-8.
Häufige Problemquellen
Programmierungsspezifisch
Die schwache Typisierung von PHP ist Teil des Konzepts, aber auch eine häufige Fehlerquelle. Ein Fehler tritt etwa auf, wenn numerische Werte mit Zeichenketten verglichen werden sollen, wobei es durch die implizite Typumwandlung zu unerwarteten Ergebnissen kommen kann; sofern nicht der Operator für typsichere Vergleiche verwendet wurde. Auch die unübliche Vereinigung des Array-Konzepts mit dem Dictionary-Konzept sorgt bei Programmierern, die mit anderen Programmiersprachen vertraut sind, teils für Fehler. Zudem ist es in PHP nicht möglich, eine Variablendeklaration zu erzwingen - Variablen werden vielmehr stets automatisch angelegt, sobald sie erstmals verwendet werden. Diese Bequemlichkeit hat zur Folge, dass etwa Tippfehler im Variablennamen zu schwer auffindbaren Programmfehlern führen können. Dieses Verhalten kann jedoch durch andere Einstellung der Fehlerberichterstattung abgefangen werden.[14]
Webanwendungsspezifisch
Im Zusammenhang mit globalen Variablen und unsicheren Serverkonfigurationen können Daten in ein Skript eingeschleust werden, indem etwa URL-Parameter gesetzt werden. Um diese Art von Manipulation zu verhindern, wird empfohlen, die Option register_globals=off in der PHP-Konfiguration zu setzen; was seit PHP 4.2 standardmäßig eingestellt ist. Ansonsten soll jede Variable vor der ersten Verwendung initialisiert werden.
Weiterhin bestehen Gefahren über SQL-Injections oder Cross-Site Scripting-Attacken, die jedoch nicht PHP-spezifisch sind, sondern für alle Webanwendungen gelten. Sie lassen sich eliminieren, indem Programmierer alle Daten, die das Programm von außen über HTTP oder andere Protokolle empfängt, sorgfältig prüfen und filtern.
Schutzsysteme für PHP-Installationen
Suhosin[15] ist ein von Stefan Esser, einem ehemaligem Mitglied des „PHP Security Response Team“[16] und Mitentwickler von PHP, entwickeltes Schutzsystem für PHP-Installationen. Es wurde entworfen, um den Server und die Benutzer vor bekannten und unbekannten Fehlern in PHP-Anwendungen und im PHP-Kern zu schützen.
Performance
Setzt man PHP als CGI-Programm ein, so leidet die Performance, denn für jeden HTTP-Request startet der Webserver hier eine neue Instanz des PHP-Interpreters. Um den Start der Interpreter-Instanzen zu sparen, setzt man PHP üblicherweise als Servermodul, also als Teil der Webserver-Prozesse, oder über FastCGI ein.
Laut dem Computer Language Shootout[17] wie auch bei dessen Windows-Pendant Win32 Computer Language Shootout[18] liegt PHP bei Standardproblemen in Bezug auf Laufzeit und Ressourcenverbrauch in den meisten Benchmarks leicht bis deutlich hinter anderen populären Skriptsprachen wie Python oder Perl.
Steigerung der Performance
PHP besitzt selbst keinen Bytecode-Cache, was dazu führt, dass ein Skript bei jedem Aufruf neu übersetzt werden muss. Um dem entgegenzuwirken, gibt es einige Erweiterungen, die diese Funktionalität nachrüsten, wie beispielsweise den eAccelerator, den Alternative PHP Cache sowie den kommerziellen Zend Optimizer. Besonders bei umfangreichen Skripten kann so eine deutliche Steigerung der Performance erreicht werden.
Verbreitete PHP-Applikationen
Es gibt verschiedene, sehr weit verbreitete Applikationen, die in PHP geschrieben wurden. Hier eine kleine Auswahl.
- Invision Power Board, phpBB, Simple Machines Forum, vBulletin und WoltLab Burning Board – Foren-Software
- phpMyAdmin, phpPgAdmin – grafische Benutzeroberflächen zur Verwaltung von MySQL- bzw. PostgreSQL-Datenbanken
- TYPO3, Joomla!, Drupal – Content-Management-Systeme (CMS)
- WordPress, Serendipity – Software für das Erstellen von Weblogs
- Horde – Application Framework für Webanwendungen
- SugarCRM– CRM (Customer Relationship Management)
- MediaWiki – Wiki Software (Wikimedia, Bsp.: Wikipedia)
- osCommerce – E-Commerce-Applikationen
Lizenz und Bezug
PHP 3 wurde unter der GNU General Public License (GPL) vertrieben. Seit Version 4 wird PHP unter der PHP License vertrieben, da der neue Parser, die Zend Engine, vom Hersteller Zend unter einer nicht GPL-kompatiblen Lizenz veröffentlicht wird. Die PHP-Lizenz ist eine Softwarelizenz, die die freie Verwendung und Veränderung der Quelltexte erlaubt. Die Software kann somit kostenlos aus dem Internet geladen werden; daneben ist PHP auch schon bei einigen Betriebssystemen (z. B. bei Linux-Distributionen oder Mac OS X) im Lieferumfang enthalten.
Literatur
- Matthias Kannengiesser: PHP 5 / MySQL 5, Studienausgabe. Franzis Verlag, ISBN 3-7723-6919-7
- George Schlossnagle: Professionelle PHP 5-Programmierung. Addison-Wesley, ISBN 3-8273-2198-0
- Jörg Krause: PHP 5, Grundlagen und Profiwissen. Hanser Fachbuchverlag, 2. Auflage, ISBN 3-446-40334-5
- Jens Ferner: PHP 5 Referenz. Data Becker, ISBN 3-8158-2369-2
- R. Samar (Hrsg.), C. Stocker (Hrsg.), A. Gildemeister et al.: „PHP de Luxe – PHP5 Edition“. mitp-Verlag, ISBN 3-8266-1482-8
- Martin Goldmann, Markus Schraudolph: PHP 5 – Die Neuerungen. Galileo Press, ISBN 3-89842-490-1
- Carsten Möhrke: Besser PHP programmieren. Galileo Press, ISBN 3-89842-381-6
- Christian Wenz, Tobias Hauser: PHP 5 Kompendium. Markt und Technik, ISBN 3-8272-6292-5
- Stefan Priebsch: Enterprise PHP Tools, entwickler.press, ISBN 3-935042-93-0
- Stephan Schmidt: PHP Design Patterns, O’Reilly Verlag, 1. Auflage September 2006, ISBN 3-89721-442-3
- Christopher Kunz, Peter Prochaska, Stefan Esser: PHP-Sicherheit, dpunkt.verlag, 2. Auflage Februar 2007, ISBN 978-3-89864-450-1
- Damir Enseleit: SELFPHP – Das PHP Kochbuch, Franzis-Verlag, Juli 2006, ISBN 3-7723-7107-8
- Thomas Theis: Einstieg in PHP 5 & MySQL 5, Galileo Computing, 4. Auflage Oktober 2006, ISBN 978-3-89842-854-5
- Tobias Wassermann: Sichere Webanwendungen mit PHP, mitp verlag, 1. Auflage August 2007, ISBN 978-3-8266-1754-6
Weblinks
- Offizielle Website (englisch)
- Deutsches Handbuch
Quellen
- ↑ Rasmus Lerdorf: "PHP's design goal from the very beginning is very simple. To solve the common web problem. That's it."
- ↑ Ankündigung von Rasmus Lerdorf zu PHP 1.0 in der Newsgroup comp.infosystems.www.authoring.cgi
- ↑ PHP: PHP 4 ChangeLog. The PHP Group (3. Januar 2008). Abgerufen am 22. Februar 2008.
- ↑ http://blog.webteam.at/2007/uber-ein-neues-halbes-feature-in-php-53/, "Einführung in late static binding"
- ↑ Heise online: Pflege von PHP4 wird zum Jahresende weitgehend eingestellt
- ↑ PHP.net News Archive: PHP 4 end of life announcement
- ↑ http://gtk.php.net (Englisch), abgerufen am 17. Juni 2007
- ↑ PHP-Handbuch: Heredoc-Syntax
- ↑ PHP-Handbuch: Namespaces
- ↑ PHP-Handbuch: Magic quotes
- ↑ PHP-Handbuch: Safe mode
- ↑ PHP-Handbuch: Register Globals
- ↑ PHP-Conference 2005: Präsentation von Andrei Zmievski (PDF)
- ↑ PHP-Handbuch: Option error_reporting
- ↑ Hauptseite des Suhosin-Projekts
- ↑ News auf Golem.de: „PHP-Sicherheit: Stefan Esser wirft hin“
- ↑ The Computer Language Benchmarks Game
- ↑ The Great Win32 Computer Language Shootout
Wikimedia Foundation.