PHP
Funktionsdiagramm zeigt die Ausführung der serverseitigen Scriptsprache PHP auf dem Webserver, der Browser-Client empfängt nur HTML. Funktionsdiagramm zeigt die Ausführung der serverseitigen Scriptsprache PHP auf dem Webserver, der Browser-Client empfängt nur HTML.
PHP Hypertext Preprocessor. PHP ist eine Server-Script-Sprache. Wenn ein Browser eine PHP-Seite von einem PHP-fähigen Server abruft, interpretiert der Server den PHP-Code und sendet den resultierenden HTML-Code an den Browser.  Der Browser empfängt nur HTML- und nicht PHP-Code. PHP arbeitet oft mit der Open Source Datenbank MySQL zusammen. Dies ist in der Bilderserie dokumentiert, auch ein Insertion Sort Algorithmus in PHP ist dabei.  Auch die objektrelationale Datenbank (ORDBMS) PostgreSQL kann durch PHP angesteuert werden. Eine Serversoftware, die oft eingesetzt wird um PHP und MySQL zu unterstützen ist der Apache-HTTP-Server  oder der IIS (Microsoft Internet Information Server bzw. Internet Information Services). Für PHP gibt es vorgefertigte Bibliotheken und Module, wie z. B. PEAR (PHP Extension and Application Repository). 

In PHP können Templates verwendet werden. Ausserdem existiert ein Vielzahl von PHP-Template-Engines: z. B. Smarty oder vLIB.  Dadurch werden dem Entwickler Standard-Aufgaben abgenommen. Es gibt Basisobjekte und Pakete, die in den Bibliotheken wiederverwendet werden und Redundanzen in der Softwareentwicklung vermeiden.  PEAR ist Open Source und kann auf dem Web-Server installiert werden. Um PHP sicherer zu machen wurde das Hardened PHP Projekt von Stefan Esser ins Leben gerufen. Hardened PHP ist ein Patch, der auf dem Webserver  installiert wird und auch Schutz für den Zend Memory Manager sowie Zend Linked Lists bietet. Weiterhin soll Hardened PHP vor internen Exploits durch speziell formatierte Strings schützen (http://www.hardened-php.net/).  Suhosin ist ein weiter fortgeschrittenes Schutzpaket für PHP-Scripts. Suhosin schützt den Webserver und den Anwender vor Fehlern in PHP-Scripts und im PHP-Kern.

Zend Technologies 
Die Zend-Engine ist ein PHP-Parser und -Compiler von Zend Technologies Ltd. Zend Technologies Ltd. wurde von Zeev Suraski und Andi Gutmans in Israel gegründet. Die Zend Engine übernimmt die Codeaufbereitung: sie compiliert den PHP-Code vor  der Ausführung um Fehler rechtzeitig abzufangen. Nur fehlerfreie Seiten werden von der Zend-Engine an die PHP-Ausführungsschicht übergeben.  Der Zend Optimizer optimiert den PHP-Code und wird zur Ausführung von PHP-Code verwendet, der mit dem Zend Guard verschlüsselt wurde.  Das Zend Studio ist eine Entwicklungsumgebung (Integrated Development Environment, IDE) für PHP. Das Zend Studio wurde für die Java Plattform entwickelt und ist für Windows, Linux und Mac OS X ausgelegt.

Superglobals 
Allgemein kann empfohlen werden, die Globalen Variablen (register_globals) auf "Off" zu setzen. Um die PHP Scripte sicherer zu machen, empfiehlt es sich weiterhin, externe Variablen mit den Superglobals abzufangen ($_POST, $_GET, $_Server, $_ENV,  $_REQUEST, $_SESSION, $_FILES, $_COOKIE, $GLOBALS, $php-errormsg). Siehe auch: http://de3.php.net/reserved.variables. Um eine Manipulation von Variablen zu verhindern sollte man Plausibilitätsprüfungen für die Variablen einbauen. 

Konfiguration und XAMPP
Ab der Version 5 von PHP kann die Registrierung der langen von PHP vordefinierten Arrays ($HTTP-POST-VARS, $HTTP_GET_VARS usw.) mit der Konfigurationsoption register_long_arrays abgeschaltet werden.  Die Administration von Einstellungen erfolgt beim Apache-HTTP-Server in der php.ini und der config.inc.php sowie bei MySQL in der my.cnf und beim MySQL-Administrationsprogramm phpMyAdmin ebenfalls in der Datei config.inc.php.  Die PHP und MySQL Einstellungen kann man sich durch die Funktion phpinfo(); anzeigen lassen. Diese ist auch als Menüpunkt im XAMPP bzw. WAMPP, LAMPP oder MAMPP Paket zu finden: diese Pakete enthalten den Apache Server,  PHP, MySQL (und Perl) und lassen sich leicht aufspielen und administrieren. Sie sind erhältlich für Windows, Linux und Mac OS X. XAMPP ist zu finden, z. B. bei www.apachefriends.org.

PHP Optimierung
Um bei umfangreichen  PHP-Scripts und Projekten Neuübersetzungen zu vermeiden, kann man OpCode-Caches verwenden. OpCode-Caches speichern den erzeugten PHP Code und müssen als Erweiterung eingebunden werden. 

Die Performance kann bei PHP auch durch die "Autoloading" Methode gesteigert werden. Mit der Funktion __autoload können längere Klassendefinitionen eingebunden werden und müssen nicht über eine lange Liste von include-Anweisungen geladen werden.  Bekannte OpCode-Caches sind der Zend-Optimizer, eAccelerator, IonCube-Accelerator und der Alternative PHP Cache. Ausser dem Zend Optimizer sind das alles Open Source und Freeware-Programme.  PHP wird seit Version 4 unter der PHP License lizenziert. Bis Version 3 war PHP unter der GPL lizenziert, die Zend-Engine (der neue PHP-Parser) ist jedoch nicht GPL-fähig. PHP kann unter der PHP License frei heruntergeladen und verwendet werden.  Das GIMP-Toolkit (GTK+), eine freie Komponentenbibliothek, stellt für PHP eine Grafik-API zur Verfügung. PHP ist prozedural angelegt, verfügt jedoch auch über Komponenten der Objektorientierten Programmierung  (OOP). Objekt-Variablen werden seit Version 5 (Zend Engine 2) nur noch als Referenz auf das Objekt und nicht mehr als das Objekt selbst abgelegt. Weiterhin ergänzt wurden Destruktoren und Klassen-Eigenschaften (Private, Protected, Public).  Die meisten Bibliotheken sind in PHP noch prozedural angelegt. Seit Version 5 ist die DOM-API objektorientiert. PHP 5.1 bietet zudem mit den PHP Data Objects (PDO) eine OOP-Erweiterung die den einheitlichen Zugriff auf  unterschiedliche SQL-Datenbanken (MySQL, PostgreSQL, SQLite) ermöglicht. Eine einheitliche Unicode-Unterstützung soll mit der Zend Engine ab PHP Version 6 erfolgen. Threads und Namensräume fehlen in PHP. Auch förmliche Variablen-Deklarationen  können in PHP nicht erzwungen werden. Mit PHP Version 5.2 wird eine verbesserte Speicherverwaltung bereitgestellt, sowie Filter-Erweiterungen, JSON (JavaScript Object Notation), ZIP-Archiv-Unterstützung, und eine objektorientierte  Datumserweiterung mit DataTime und DataTimeZone.

JSON
JSON ist ein sprachenunabhängiges Format zum Datenaustausch zwischen Anwendungen. JSON wird in einer Textform notiert und ist für Rechner und menschliche Anwender einfach  lesbar. Datenstrukturen werden mit JSON kompakt notiert und kommen im Vergleich zu XML mit wesentlich weniger Overhead aus. JSON ist ein Datenaustauschformat und implementiert in PHP, Java, C, C#, JavaScript, Perl, Smalltalk, Python und Ruby.
Siehe auch:    Apache-HTTP-Server   MySQL   Webserver   PEAR   Script   Perl   Apache-Tomcat   Open-Source   JSON   Objektorientierte-Programmierung