PHP est un langage de scripts côté serveur. C'est un langage open source et multi plate-formes qui repose sur un interpréteur : le Zend engine.

La place de PHP

PHP ("PHP : Hypertext Preprocessor") est un langage de script exécuté sur un serveur : c'est un serveur Web qui effectue tout le travail de traitement du script et de transmission au navigateur du HTML standard résultant.

Le processus d'exécution d'un script PHP est le suivant :

Le serveur ne renvoie que du code HTML : les commandes de script sont exécutées et n'apparaissent pas dans le résultat. Les utilisateurs ne peuvent pas voir les scripts qui ont créé la page qu'ils visualisent.

Architecture client-serveur 3 tiers

PHP possède les même fonctionnalités que les autres langages permettant d'écrire des pages Web dynamiques : collecte de données par l'intermédiaire de formulaires, connexion à des bases de données, envoi et lecture de cookies, accès au système de fichiers du serveur, etc.

PHP donne accès à un grand nombre de bases de données (Adabas D, filePro, Informix, dBase, Empress, Hyperwave, IBM DB2, Ingres, InterBase, mSQL, MS-SQL, MySQL, ODBC, Oracle, PostgreSQL , Sybase, etc).

PHP supporte des services utilisant les protocoles tels que IMAP, SNMP, NNTP, POP3 et bien sûr principalement HTTP.

Les serveurs Web : en novembre 1990 naissaient au CERN (Centre Européen pour la Recherche Nucléaire - Genève) le premier serveur HTTP et le premier navigateur Web. Ils fonctionnaient sur le système d'exploitation NeXTstep et s'appellaient Httpd et WorldWideWeb. Leur inventeur était Tim Berners-Lee qui depuis 1989 menait un projet sur la mise en réseau de documents hypertextes : le "World WideWeb".
Ce premier serveur HTTP et son premier client Web sont accessibles au CERN, en décembre, puis sur Internet pendant l'été 1991.
A partir du premier modèle httpd du CERN, le NCSA (National Center for Supercomputing Applications - Université de l'Illinois - USA) developpe en 1993 son propre serveur : HTTPd.
Il est abandonné en 1994, mais ses bases servent à la création d'Apache Server en 1995, logiciel libre et seul concurrent au produit payant Netscape Enterprise (qui devriendra iPlanet en 1999).
Microsoft a lancé son premier serveur en 1995 avec Windows NT 3.51 : IIS (Internet Information Server). La seconde version, compatible avec les pages ASP sortira avec Windows NT4 en 1998.
Fig 2 : utilisation serveurs
news.netcraft.com/archives/2012/06/06/june-2012-web-server-survey.html

PHP : open source et multi plate-formes

PHP existe sous plusieurs versions suivant la plate-forme sur lequel on veut l'installer : Linux, Unix, HP-UX, Solaris, Mac OS X, Windows. De la même façon, PHP peut être utilisé avec divers serveurs Web : Apache, IIS, nginx, OmniHTTPd, etc. La configuration la plus souvent utilisée est un serveur Apache et une machine Unix ou Linux.

Pour vos développements (écriture, test, mise au point), vous pouvez utiliser les packages suivants :
- easyPhp : www.easyphp.org (windows)
- wampServer : www.wampserver.com (windows)
- apachefriends : www.apachefriends.org (tous les systèmes d'exploitation).
Tous installent au minimum un serveur Apache, PHP, mySQL et phpMyAdmin.

Le Zend Engine

C'est le compilateur utilisé par PHP pour produire de l'opcode ("operation code" : instructions binaires de bas niveau) qui sera exécuté par le serveur pour produire ce qui sera envoyé au navigateur.

Structure Zend Engine

Pour que la compilation du script ne soit pas systèmatiquement refaite à chaque demande du script PHP, l'opcode est éventuellement mis en cache par les extensions installées sur le serveur.

algorithme de mise en cache

www.webrankinfo.com/dossiers/webmastering/cache-de-donnees