PHP

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von Php)
Wechseln zu: Navigation, Suche
Der Titel dieses Artikels ist mehrdeutig. Weitere Bedeutungen sind unter PHP (Begriffsklärung) aufgeführt.
PHP
Logo
serverseitig interpretierte Skriptsprache
Basisdaten
Paradigmen: imperativ, objektorientiert, funktional, reflexiv
Erscheinungsjahr: 1995
Designer: Rasmus Lerdorf
Entwickler: The PHP Group
Aktuelle Version: 5.6.3[1]  (13. November 2014)
Typisierung: schwach, dynamisch
Beeinflusst von: Perl, C, C++, Java
Betriebssystem: plattformunabhängig
Lizenz: PHP-Lizenz und andere, teilweise proprietär
www.php.net

PHP (rekursives Akronym und Backronym für „PHP: Hypertext Preprocessor“, ursprünglich „Personal Home Page Tools“) ist eine Skriptsprache mit einer an C und Perl angelehnten Syntax, die hauptsächlich zur Erstellung dynamischer Webseiten oder Webanwendungen verwendet wird.[2] PHP wird als freie Software unter der PHP-Lizenz verbreitet. PHP zeichnet sich durch breite Datenbankunterstützung[3] und Internet-Protokolleinbindung sowie die Verfügbarkeit zahlreicher Funktionsbibliotheken[4] aus.

Geschichte[Bearbeiten]

Seit der Veröffentlichung im Jahr 1995 nahmen die Entwickler teilweise umfangreiche Änderungen innerhalb der Programmiersprache vor. Der Kern der Sprache wurde mit PHP 3 komplett neu erstellt. Deutliche Anpassungen wurden mit PHP 5 bzw. PHP 5.3 vorgenommen, die den Fokus der Programmiersprache auf die objektorientierte Programmierung legt. Klassen waren jedoch bereits mit der vierten Version nutzbar.

Personal Home Page Tools (PHP1)[Bearbeiten]

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.[5]

PHP/FI (PHP 2)[Bearbeiten]

Bald schuf Lerdorf eine umfangreichere Version in der Programmiersprache C, in der 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.

PHP 3[Bearbeiten]

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. Die Version PHP3 brachte die Verbreitung der Web-Skriptsprache PHP bedeutend voran. Die neue Sprache wurde einfach unter dem Namen PHP veröffentlicht, ein rekursives Akronym für PHP: Hypertext Preprocessor, um die in den Vorversionen PHP und PHP/FI vorhandene Implizierung einer persönlichen Nutzung zu beseitigen.[6]

PHP 4[Bearbeiten]

Das von Gutmans und Suraski gegründete Unternehmen Zend Technologies Ltd. entwickelte in der Folge die Zend Engine 1, die den Kern der PHP-4-Standardimplementierung bildet. 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 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 mit der Zeit für die Webentwicklung populärer als der vorherige De-facto-Standard Perl, weil es durch seine Spezialisierung als einfacher erlernbar galt.

Seit 2008 sind die Weiterentwicklung und der Support eingestellt.

PHP 5[Bearbeiten]

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. Dazu kommen Exceptions, Reflection, die Integration der Datenbank SQLite sowie Erweiterungen bei XML- und DOM-Handhabung.

Derzeit werden die Versionszweige ab Version 5.4 weiterentwickelt. Die Weiterentwicklung von PHP 5.3 wurde Mitte 2013 eingestellt. Auch der Support von PHP 5.3 mit Sicherheitsupdates wurde mit der Veröffentlichung von PHP 5.3.29 am 14. August 2014 eingestellt. Weitere Möglichkeiten im Rahmen der objektorientierten Programmierung wurden mit PHP 5.3 (Namespaces, Late Static Bindings), 5.4 (Traits, Array- und Konstruktor-Dereferenzierung) und 5.5 (Generatoren) vorangetrieben.[7][8]

Mitte 2011 entschieden die Entwickler, den laut eigenen Angaben chaotischen Release-Prozess zu vereinheitlichen. Demnach sollen regelmäßig neue Versionen erscheinen und der Support für ältere Versionen mit einer festen Zeitspanne garantiert werden.[9]

PHP 6[Bearbeiten]

Ursprünglich als früher Nachfolger von PHP 5 geplant, wurde die Entwicklung von PHP 6 zurückgestellt. Geplant war unter anderem die Unterstützung verschiedener Unicode-Standards.[10][11] Einige Verbesserungen sind in aktuellen PHP-Versionen ab 5.3 implementiert.

PHP 7[Bearbeiten]

Nach einer langen Diskussion darüber, ob die nächste PHP-Version im Jahr 2014 nun den Namen des ehemals gescheiterten PHP 6 wiederaufnehmen soll, oder stattdessen eine Versionsnummer überspringen und PHP 7 heißen soll, wurde am 29. Juli 2014 endgültig bekanntgegeben, dass die Entwickler sich mit 58 zu 24 Stimmen für die Hauptversionsnummer 7 entschieden haben. Der Nachfolger von PHP 5 wird somit offiziell PHP 7 heißen.[12][13]

Verbreitung[Bearbeiten]

Das LAMP-Software-Bündel (hier zusätzlich mit Squid) umfasst PHP.

PHP wird auf etwa 244 Millionen Websites eingesetzt (Stand: Januar 2013),[14] wird auf über 81 % aller Websites als serverseitige Programmiersprache verwendet (Stand: Oktober 2013)[15] und ist damit die am häufigsten verwendete Sprache zum Erstellen von Websites, Tendenz steigend.[16] Zudem ist sie bei den meisten Webhostern vorinstalliert.

Weiterentwicklungen[Bearbeiten]

Objektorientierung[Bearbeiten]

Seit der Version 5 unterstützt PHP durch Kapselung der Daten, Destruktoren und Ausnahmebehandlung per Exceptions verbesserte und erweiterte Möglichkeiten der objektorientierten Programmierung. Objekt-Variablen sind in PHP 5 nur noch Referenzen auf Objekte und nicht wie in PHP 4 die Objekte selbst. Aktuelle Versionen setzen weitere Konzepte objektorientierter Programmierung ein, so werden seit Version 5.3 Namensräume[17] und seit Version 5.4 Traits unterstützt.

Datenbankanbindung[Bearbeiten]

Mit der objektorientierten Datenbankabstraktionsebene PDO wurde dem oft bemängelten uneinheitlichen Zugriff auf verschiedene Datenbanken in der Version 5.1 entgegengewirkt.

Speicheroptimierung[Bearbeiten]

In PHP 5.3 wurde eine deutliche Verbesserung der Speicheranforderung eines PHP-Skripts zur Laufzeit durch einen internen Garbage Collector erreicht. Seitdem ist eine Zusatzinstallation von Zend Optimizer nicht mehr notwendig.

Webserver[Bearbeiten]

Seit Version 5.4 ist ein einfacher Webserver integriert, der über die Kommandozeile konfigurierbar ist. Er wird nicht für den Produktiveinsatz empfohlen.

Unicode[Bearbeiten]

Ab Version 5.4 ist der Standardzeichensatz von ISO 8859-1 auf Unicode geändert worden.[18] Ziel ist außerdem die vollständige Unicode-Umsetzung aller Funktionen in PHP, die in PHP 5.4 noch nicht abgeschlossen ist.[19] Damit werden vor allem interne Probleme mit Sprachkonstrukten bei der Verarbeitung von Unicode gelöst. Um Standard-Zeichenkettenfunktionen zu nutzen, welche keine Parameter für den Zeichensatz besitzen, können sie durch das Überladen der entsprechenden Multibyte-Funktionen auf Unicode-Fähigkeit umgestellt werden.[20]

Funktionsweise[Bearbeiten]

Darstellung der Funktionsweise von PHP

PHP ist ein System, das PHP-Code serverseitig verarbeitet. Das bedeutet, dass der Quelltext nicht an den Webbrowser ü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 das 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, wie ISAPI oder CGI, der Interpreter von einem Server-Daemon oder Server-Dienst, wie Apache oder IIS, ausgeführt. Die Kombination von Linux/Windows/Mac OS X als Betriebssystem, Apache als Webserver, MySQL als Datenbanksystem und PHP wird LAMP (für Linux), WAMP (für Windows) oder MAMP (für Mac OS X) genannt. Fertige LAMP-, MAMP- und WAMP-Pakete, die das einzelne Laden und Konfigurieren von Paketen aus dem Internet unnötig machen, werden etwa im Projekt XAMPP entwickelt. Hier gibt es Versionen für Linux, Solaris, Windows und Mac OS X, die jedoch nur für Test- und Entwicklungsumgebungen genutzt werden sollen.[21]

Da PHP normalerweise in einer Webserver-Umgebung läuft, unterliegt es auch dem zustandslosen HTTP. Jede PHP-Seite belastet den Webserver durch den Interpreter, zudem arbeitet der Interpreter den Quelltext bei jedem Aufruf erneut ab. Das mindert die Reaktionsgeschwindigkeit des Servers und erhöht 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 Bytecode-Caching und Artikel PHP-Beschleuniger).

Mit PHP lassen sich auch kommandozeilenorientierte Skripte schreiben, die vom Internet unabhängig sind. Die Qt-Erweiterung und die GTK-Erweiterung stellen 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.[22] Gegenwärtig wird PHP jedoch vor allem auf Webservern genutzt.

Code-Beispiel[Bearbeiten]

Einfaches PHP-Skript (gibt „Hallo Welt!“ aus):

<?php
     echo 'Hallo Welt!';
?>

Das Skript in HTML integriert (gibt ebenfalls „Hallo Welt!“ auf der Webseite aus):

<!DOCTYPE HTML>
<html>
    <head>
        <title>Hallo-Welt-Beispiel</title>
    </head>
    <body>
        <?php
            echo 'Hallo Welt!';
        ?>
    </body>
</html>

Anmerkung: Der PHP-Interpreter führt nur den Code zwischen <?php und ?> aus. Der übrige Code, üblicherweise HTML, wird vom Interpreter nicht berücksichtigt.[23]

Es gibt verschiedene Möglichkeiten, PHP-Code innerhalb einer HTML-Website einzubinden. Neben

<?php ?>

wird auch oft die kürzere Form

<? ?>

akzeptiert, je nach Konfiguration des Webservers. Welche Version verwendet wird, ist egal, jedoch sollte bei der Verwendung der Kurzform <? ?> darauf geachtet werden, dass andere Skriptsprachen, welche auf demselben Webhost verwendet werden, nicht auf dieselben Zeichen reagieren, da es sonst zu einer Doppel-Interpretation kommen kann.

Kritik[Bearbeiten]

Allgemein[Bearbeiten]

Kritiker führen eine Reihe von Unzulänglichkeiten in PHP an. So sei die Sprache ungesteuert gewachsen, wodurch ähnlich arbeitende Funktionen oft unterschiedlich benannt worden sind und die Reihenfolge der Funktionsparameter bei Funktionen mit ähnlichem Zweck teilweise nicht übereinstimmt. Zudem sind trotz vorhandener Objektorientierung viele Standardbibliotheken noch prozedural angelegt. Einige PHP-Module sind nicht threadsicher.

PHP besaß bis Version 5.4 keinen eigenen Bytecode-Cache, was ohne entsprechende Erweiterung bei jedem Aufruf einer Datei ein komplettes Parsen notwendig machte. Seit PHP 5.5 wird Zend Optimizer+ als Bytecode-Cache mitgeliefert.[24]

Programmierungsspezifische Probleme[Bearbeiten]

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. Wird bei der Fehlerausgabe zusätzlich das Level E_NOTICE aktiviert, wird beim Verwenden einer nicht initialisierten Variable eine Fehlermeldung ausgegeben.[25]

Webanwendungsspezifische Probleme[Bearbeiten]

Eine Änderung der PHP-Standardkonfiguration konnte im Zusammenspiel mit globalen Variablen bewirken, dass fremde Daten über URL-Parameter in ein Skript eingeschleust werden konnten. Ab PHP 5.4 ist dies nicht mehr möglich, da die Option für globale Variablen entfernt wurde.[26]

Ausführung[Bearbeiten]

Allgemein[Bearbeiten]

PHP setzt man üblicherweise als Servermodul, also als Teil der Webserver-Prozesse oder über FastCGI ein. Setzt man PHP als CGI-Programm ein, so kann sich das negativ auf die Ausführungsgeschwindigkeit auswirken, da für jede HTTP-Anfrage eine neue PHP-Interpreter-Instanz gestartet wird.

Bytecode-Caching[Bearbeiten]

Hauptartikel: PHP-Beschleuniger

Mit der Zend-Engine wird ein PHP-Skript zunächst zu einem (plattformunabhängigen) Bytecode (Zend-Opcode) übersetzt, aus dem zur Ausführung noch Maschinencode erzeugt werden muss. Durch Verwendung eines Bytecode-Cache kann die redundante Generierung von Opcode vermieden werden. Bis zur Version 5.5 besaß PHP keinen integrierten Bytecode-Cache, was dazu führte, dass ein Skript bei jedem Aufruf neu übersetzt werden musste. Um dem entgegenzuwirken, wurden einige Erweiterungen entwickelt, die diese Funktionalität nachrüsten, wie beispielsweise den eAccelerator, den Alternative PHP Cache, XCache sowie den kommerziellen Zend Optimizer. Ab der PHP-Version 5.5 wurde der Zend Optimizer+ nun in die Skriptsprache integriert.[27]

Besonders bei umfangreichen Skripten kann durch einen Bytecode-Cache eine deutliche Steigerung der Ausführungsgeschwindigkeit erreicht werden.[28]

Kompilierung[Bearbeiten]

Der PHP-Compiler (PHC)[29] ist ein OpenSource-Compiler von Paul Biggar, welcher PHP-Scripte in optimierten C-Code übersetzt und dann als eigenen Webserver ausführt. Die Grundlage für PHC ist Biggars Doktorarbeit[30] aus dem Jahr 2009 und dessen mehrjährige Forschung an Konzepten zur Konvertierung von Scriptsprachen in kompilierte Sprachen. Mit HipHop existiert seit 2010 eine weitere freie Software zum Übersetzen von PHP-Code in optimierten C++-Code, der kompiliert werden kann, was nach Herstellerangaben dort die Leistung im Schnitt auf etwa das Doppelte steigert. HipHop wurde von Facebook entwickelt, um die Serverlast zu senken (laut Facebook um etwa 40 %). Es ist als Open-Source-Software auf GitHub zu finden.[31]

Schutzsysteme für PHP-Installationen[Bearbeiten]

Suhosin[32] ist ein von Stefan Esser, einem ehemaligen Mitglied des „PHP Security Response Team“[33] 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.

Verbreitete PHP-Applikationen[Bearbeiten]

Eine Auswahl einiger weit verbreiteter Applikationen, die in PHP entwickelt wurden:

Foren-Software
Invision Power Board, MyBB, phpBB, Simple Machines Forum, vBulletin und WoltLab Burning Board
Web-Application-Frameworks
Zend Framework, symfony, CakePHP, CodeIgniter, TYPO3 Flow, Horde, WoltLab Community Framework
Grafische Benutzeroberflächen zur Verwaltung von Datenbanken (zum Beispiel MySQL)
phpMyAdmin, phpPgAdmin
Content-Management-Systeme (CMS)
TYPO3, Joomla, Xoops, Drupal, Contao, Croogo
Software für das Erstellen von Weblogs
WordPress, Serendipity
Customer-Relationship-Management-Systeme (CRM)
SugarCRM und Vtiger
E-Commerce-Applikationen
osCommerce, xt:Commerce, Magento, OXID, PrestaShop
Projektmanagement
EGroupware
Bildergalerien
Coppermine, 4images, easyImage
Sonstige
MediaWiki

Lizenz und Bezug[Bearbeiten]

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 kostenlos aus dem Internet geladen werden; daneben ist PHP auch im Lieferumfang einiger Betriebssysteme (so bei einigen Linux-Distributionen oder Mac OS X) enthalten.

Literatur[Bearbeiten]

  • Frank Dopatka: PHP – endlich objektorientiert. OO- und UML-Praxisbuch: vom Anfänger zum Fortgeschrittenen. Entwickler Press, Frankfurt am Main 2010, ISBN 978-3-86802-039-7.
  • Matthias Kannengiesser: PHP 5 / MySQL 5. Berücksichtigt PHP 5.3. In: Know-how ist blau. 3., aktualisierte Auflage. Franzis, Poing 2009, ISBN 978-3-645-60010-1.
  • Florence Maurice: PHP 5.5 und MySQL 5.6. dpunkt.verlag, Heidelberg 2014, ISBN 978-3-86490-168-3.
  • Stefan Priebsch: Enterprise PHP Tools. Entwickler Press, Frankfurt am Main 2006, ISBN 3-935042-93-0.
  • Stephan Schmidt: PHP Design Patterns. 1. Auflage. O’Reilly, Köln 2006, ISBN 3-89721-442-3.
  • Thomas Theis: Einstieg in PHP 5.4 & MySQL 5.5. 8. Auflage. Galileo press, Bonn 2012, ISBN 978-3-8362-1877-1.
  • Tobias Wassermann: Sichere Webanwendungen mit PHP. 1. Auflage. mitp, Bonn 2007, ISBN 978-3-8266-1754-6.

Weblinks[Bearbeiten]

 Wiktionary: PHP – Bedeutungserklärungen, Wortherkunft, Synonyme, Übersetzungen
 Commons: PHP – Sammlung von Bildern, Videos und Audiodateien
 Wikibooks: Websiteentwicklung: PHP – Lern- und Lehrmaterialien

Einzelnachweise[Bearbeiten]

  1. PHP 5 Changelog. The PHP Group, 13. November 2014, abgerufen am 14. November 2014.
  2. Rasmus Lerdorf: „PHP’s design goal from the very beginning is very simple. To solve the common web problem. That’s it.“
  3. PHP-Handbuch: Datenbankerweiterungen
  4. PHP-Handbuch: Erweiterungen
  5. Ankündigung von Rasmus Lerdorf zu PHP 1.0 in der Newsgroup comp.infosystems.www.authoring.cgi
  6. Die Geschichte von PHP auf php.net, abgerufen am 4. September 2013.
  7. heise.de: Die Entwicklung von PHP 5.4 im Überblick, abgerufen am 21. März 2013.
  8. New features Neue Funktionen für PHP 5.4 im Überblick (englisch, abgerufen am 21. März 2013)
  9. wiki.php.net RFC: releaseprocess Entwurf und Abstimmung über einen vereinheitlichten Release-Prozess (englisch), abgerufen am 21. März 2013.
  10. Resetting PHP6
  11. The Good, the Bad, and the Ugly: What Happened to Unicode and PHP 6
  12. php.internals: Re: Name of Next Release of PHP (again)
  13. PHP RFC: Name of Next Release of PHP
  14. PHP just grows & grows Ergebnisse einer Netcraft-Studie, Januar 2013, englisch (abgerufen am 1. Februar 2013)
  15. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatUsage of server-side programming languages for websites. Abgerufen am 1. Oktober 2013.
  16. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatHistorical yearly trends in the usage of server-side programming languages for websites. Abgerufen am 5. Juni 2013.
  17. PHP-Handbuch: Namespaces
  18. Zeichensatz-Änderungen in PHP 5.4 (englisch)
  19. PHP-Conference 2005: Präsentation von Andrei Zmievski (PDF)
  20. PHP-Dokumentation – Funktionsüberladung (englisch)
  21. Sicherheitswarnung der XAMPP-Entwickler (abgerufen am 4. September 2013)
  22. http://gtk.php.net/ (englisch), abgerufen am 17. Juni 2007.
  23. PHP-Handbuch: Den HTML-Bereich der Datei verlassen
  24. heise.de
  25. PHP-Handbuch: Option error_reporting
  26. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatPHP: Beschreibung der php.ini-Direktiven des Sprachkerns. In: PHP Manual. Abgerufen am 4. Juli 2009.
  27. golem.de
  28. Sascha A. Carlin: PHP on Fire: Five Opcode Caches compared. In: itst.net. 15. Oktober 2006, abgerufen am 29. Juni 2010.
  29. Paul Biggar: PHP Compiler (PHC) auf Basis einer mehrjährigen Doktorarbeit. 1. Oktober 2009, abgerufen am 29. Juli 2011.
  30. Paul Biggar: Design and Implementation of an Ahead-of-Time Compiler for PHP. Trinity College Dublin, 1. Oktober 2009, abgerufen am 29. Juli 2011.
  31. Alexander Neumann: Facebook will PHP beschleunigen. In: heise Developer. heise Zeitschriften Verlag, 3. Februar 2010, abgerufen am 23. Februar 2010.
  32. Hauptseite des Suhosin-Projekts
  33. „PHP-Sicherheit: Stefan Esser wirft hin“ (Meldung vom 13. Dezember 2006 auf Golem.de)