PHP est un langage assez jeune.
PHP/FI a été créé en 1995 par Rasmus Lerdordf: à l’origine il s’agissait d’une bibliothèque fonctionnant sous PERL que Rasmus avait développé pour son propre site web personnel (il voulait savoir qui venait consulter son CV). PHP/FI signifait Personal Home Page Tools / Forms Interpreter. Petit à pettit, la bibliothèque PERL s’est muée en une implémentation directe en C, afin d’augmenter les performances et les possibilités.
En 1997, il y avait des milliers d’utilisateurs de PHP. PHP/FI 2.0 vit le jour en novembre 1997. Andi Gutsman et Zeef Suraski, fondateurs de Zend, procédèrent à une refonte complète de PHP/FI 2.0: le but était de pouvoir écrire des applications d’e-commerce plus importantes. Ils élaborèrent ainsi PHP 3.0, que Rasmus rejoignit. La principale fonction de PHP 3.0 était justement la possibilité d’être étendu par… de nouvelles fonctions: n’importe quel développeur pouvait créer ses propres modules, les ajouter à PHP grâce à une API modulaire et les partager avec l’ensemble de la communauté. PHP devint alors : PHP Hypertext Preprocessor. La version 4.0 de PHP apparut en mai 2000. Andi et Zeev ont ici de nouveau totalement réécrit le moteur de PHP, afin d’améliorer… ses performances. Depuis 2003, PHP en est à sa version 5.0. PHP 5 a l’ambition d’être plus professionnel et plus simple. La programmation objet a fait ainsi son apparition, grâce à un « nouveau moteur » PHP (Zend engine 2).
L’utilisation principale du langage PHP reste le traitement et la création de pages web au sein d’un serveur web. PHP apparaît alors comme une série de « scripts ». Il est cependant possible d’utiliser PHP en dehors de tout serveur web : On peut utiliser PHP en ligne de commande. Il faut faire appel à l’exécutable PHP. On peut utiliser PHP comme une application graphique. II faut utiliser l’extension qui permet de produire une application graphique traditionnelle, et on obtient ainsi une application « standalone ». Cette extension est « GTK ».
L’architecture « LAMP » est emblématique du monde opensource et est souvent citée. PHP ne s’y réduit pas, cependant. LAMP est utilisé pour : « Linux », « Apache », « MySQL », « PHP ». En effet, PHP fonctionne sur de nombreux OS : il fonctionne sur sous Windows (toutes versions supérieures à Win95), sous Unix (Solaris), sous Linux, sous MacOS X, OpenBSD, FreeBSD… PHP peut être utilisé avec Apache, mais il peut également être utilisé avec d’autres serveurs web (IIS, par exemple). Quant aux bases de données, PHP 5 contient des connexions natives vers la plupart des base de données (par exemple, Microsoft SQL server, Oracle, PostgreSQL, MySQL, Sybase, SQLite, FilePro, Informix, Interbase, mSQL, dBase, Empress…) PHP 5 propose même une base de données intégrée: SQLite. Depuis PHP 5.1, l’extension PDO (PHP Data Object) permet même d’avoir une abstraction vis-à-vis des bases données: pour gérer une nouvelle base de données, il suffit d’écrire le bon connecteur; les données sont ensuite transmises à la « couche » PDO.