Le PHP est un langage de script utilisé du coté serveur (par opposition à des langages executés coté client
comme le JavaScript). Officiellement, on dit « PHP : Hypertext Preprocessor », mais PHP voulait aussi ancienement
dire « Personal HomePage ».
La syntaxe de ce langage est fortement inspirée du C, mais aussi du Perl et permet une inclusion directe au sein
d’une page Web. Il permet également l’utilisation de bases de données, la création d’images à la volée, de document
PDF, d’animations Flash, de communiquer avec des serveurs externes…
La toute première version du PHP a été développée durant l’automne 1994, par Rasmus Ledorf. Au départ, le PHP
ne lui servait qu’à comptabiliser les visiteurs qui venait lire son CV sur sa page personnelle. Les premières
versions étaient privées et seul Rasmus Ledorf pouvait les utiliser.
Mais devant le nombre grandissant de visiteurs lui reclamant les sources de son extra-ordinaire projet, Rasmus
Ledorf ceda et publia une version publique en début d’année 1995, sous le nom de Personal Sommaire Page Tools.
L’archive contenait un interpreteur très simple, ainsi que quelques exemples de scripts désormais classiques,
comme un livre d’or ou un compteur.
La version 2 du PHP naquit durant l’été 1995, lors de la ré-écriture d’un interpréteur plus puissant. Le PHP
s’appelait alors PHP/FI Version 2, le FI étant l’acronyme d’un autre package (Form Interpreter)
destiné à interpréter les formulaires HTML. Mais ce n’était pas encore suffisant et Rasmus Ledorf ajouta un support
d’accès aux bases de données mSQL. Le PHP/FI pouvait alors prendre son envol…
Le succès est phenomenal et sans cesse grandissant : 15 000 sites web l’utiliseraient fin 1996 et 50 000 à la fin
de l’été 1997.
Durant ce même été, le PHP passa un nouveau stade et devient un projet d’équipe. Zeev Suraski et Andi Gutmans
ré-écrire une nouvelle fois l’interpreteur, qui servat de base au PHP 3. La dernière version en date est le PHP 4.
Il utilise désormais le moteur d’analyse Zend.
Aujourd’hui, la puissance du PHP n’est plus a démontrée. En effet, le PHP serait à ce jour utilisé par plus de
5 millions de sites Web.
Si le PHP a su convaincre un grand nombre de personnes, il n’en reste pas moins qu’il est dévalorisé. En effet,
le triplet « Apache/PHP/MySQL » est considéré (à tort) comme étant celui de l’amateur, donc du pauvre.
Inversement, « IIS/ASP/Access » est reconnu par le milieu informatique comme étant les outils du professionnel
(et donc du riche…).
Mais depuis un moment, la tendance semble s’inverser, et les professionnels semblent enfin s’apercevoir que le PHP
n’a vraiment rien à envier à l’ASP, ou même au JSP.
Voici l’équipe de PHP, affiché grace à une fonction spéciale de ce formidable langage, à l’aide de la fonction phpcredits() :
PHP 4 Credits
PHP Group
Thies C. Arntzen, Stig Bakken, Andi Gutmans, Rasmus Lerdorf, Sam Ruby, Sascha Schumann, Zeev Suraski, Jim Winstead, Andrei Zmievski
Language Design & Concept
Andi Gutmans, Rasmus Lerdorf, Zeev Suraski
PHP 4 Authors
Contribution
Authors
Zend Scripting Language Engine
Andi Gutmans, Zeev Suraski
Extension Module API
Andi Gutmans, Zeev Suraski, Andrei Zmievski
UNIX Build and Modularization
Stig Bakken, Sascha Schumann
Win32 Port
Shane Caraveo, Zeev Suraski
Server API (SAPI) Abstraction Layer
Andi Gutmans, Shane Caraveo, Zeev Suraski
SAPI Modules
Contribution
Authors
AOLserver
Sascha Schumann
Apache 1.3
Rasmus Lerdorf, Zeev Suraski, Stig Bakken, David Sklar
Apache 2.0
Sascha Schumann
Caudium / Roxen
David Hedbor
CGI
Rasmus Lerdorf, Stig Bakken
CLI
Rasmus Lerdorf, Stig Bakken, Edin Kadribasic
fastcgi
Ben Mansell
fhttpd
Alex Belits
ISAPI
Andi Gutmans, Zeev Suraski
Java Servlet
Sam Ruby
NSAPI
Jayakumar Muthukumarasamy
phttpd
Thies C. Arntzen
pi3web
Holger Zimmermann
thttpd
Sascha Schumann
tux
Sascha Schumann
WebJames
Alex Waugh
Module Authors
Module
Authors
aspell
Rasmus Lerdorf
Assert
Thies C. Arntzen
BC Math
Andi Gutmans
bz2
Sterling Hughes
Calendar
Shane Caraveo, Colin Viebrock, Hartmut Holzgraefe, Wez Furlong
ccvs
Brendan W. McAdams, Doug DeJulio
cpdf
Uwe Steinmann
crack
Alexander Feldman
ctype
Hartmut Holzgraefe
CURL
Sterling Hughes
CyberCash
Evan Klinger
Cyrus
Sterling Hughes
DBA
Sascha Schumann
dBase
Jim Winstead
DBM
Rasmus Lerdorf, Jim Winstead
dbplus
Hartmut Holzgraefe
dbx (database abstraction)
Marc Boeren, Rui Hirokawa, Frank M. Kromann
domxml
Uwe Steinmann
dotnet
Sam Ruby
EXIF
Rasmus Lerdorf, Marcus Boerger
FBSQL
Frank M. Kromann
FDF
Uwe Steinmann
FilePro
Chad Robinson
FRIBIDI
Onn Ben-Zvi
FTP
Andrew Skalski
GD imaging
Rasmus Lerdorf, Stig Bakken, Jim Winstead, Jouni Ahto
GetText
Alex Plotnick
GNU GMP support
Stanislav Malyshev
HyperWave
Uwe Steinmann
icap
Mark Musone
IMAP
Rex Logan, Mark Musone, Brian Wang, Kaj-Michael Lang, Antoni Pamies Olive, Rasmus Lerdorf, Andrew Skalski, Chuck Hagenbuch, Daniel R Kalowsky
Informix
Danny Heijl, Christian Cartus
Ingres II
David Hénot
InterBase
Jouni Ahto, Andrew Avdeev
IRCG
Sascha Schumann
Java
Sam Ruby
LDAP
Amitay Isaacs, Eric Warnke, Rasmus Lerdorf, Gerrit Thomson, Stig Venaas
Mailparse MIME parsing and manipulation functions
Wez Furlong
MCAL
Mark Musone, Chuck Hagenbuch
mcrypt
Sascha Schumann, Derick Rethans
MCVE
Brad House, Chris Faulhaber, Steven Schoch
mhash
Sascha Schumann
MING
Dave Hayden
mnoGoSearch
Alex Barkov, Ramil Kalimullin, Sergey Kartashoff
MS SQL
Frank M. Kromann
msession
Mark L. Woodward
mSQL
Zeev Suraski
Multibyte (Japanese) String Functions
Tsukada Takuya
MySQL
Zeev Suraski
ncurses
Hartmut Holzgraefe
OCI8
Stig Bakken, Thies C. Arntzen, Andy Sautins, David Benson
ODBC
Stig Bakken, Andreas Karajannis, Frank M. Kromann, Daniel R. Kalowsky
OpenSSL
Stig Venaas, Wez Furlong, Sascha Kettler
Oracle
Stig Bakken, Mitch Golden, Rasmus Lerdorf, Andreas Karajannis, Thies C. Arntzen
Ovrimos
Nikos Mavroyanopoulos
pcntl
Jason Greene
PDF
Uwe Steinmann, Rainer Schaaf
Perl Compatible Regexps
Andrei Zmievski
Posix
Kristian Köhntopp
PostgreSQL
Jouni Ahto, Zeev Suraski, Yasuo Ohgaki
Pspell
Vlad Krupin
qtdom
Jan Borsodi
Readline
Thies C. Arntzen
Recode
Kristian Köhntopp
Satellite (CORBA)
David Eriksson
Sessions
Sascha Schumann, Andrei Zmievski
Shared Memory Operations
Slava Poliakov, Ilia Alshanetsky
SNMP
Rasmus Lerdorf
Sockets
Chris Vandomelen, Sterling Hughes, Daniel Beulshausen, Jason Greene
SWF
Sterling Hughes
Sybase-CT
Zeev Suraski, Tom May
Sybase-DB
Zeev Suraski
System V Semaphores
Tom May
System V Shared Memory
Christian Cartus
tokenizer
Andrei Zmievski
User-space object overloading
Andrei Zmievski
Verisign Payflow Pro
John Donagher, David Croft
Vpopmail
David Croft, Boian Bonev
W32API
James Moore
WDDX
Andrei Zmievski
Win32 COM
Zeev Suraski, Harald Radi, Alan Brown
XML
Stig Bakken, Thies C. Arntzen
xmlrpc
Dan Libby
YAZ
Adam Dickmeiss
Yellow Pages
Stephanie Wehner, Fredrik Ohrn
Zip
Sterling Hughes
Zlib
Rasmus Lerdorf, Stefan Roehrich, Zeev Suraski, Jade Nicoletti
PHP Documentation Team
Jouni Ahto, Alexander Aulbach, Stig Bakken, Rasmus Lerdorf, Egon Schmid, Lars Torben Wilson, Jim Winstead
Edited by: Stig Bakken and Egon Schmid
PHP Quality Assurance Team
Andre Langhorst, Derick Rethans, Hellekin O. Wolf, Jalal Pushman, James Moore, Jani Taskinen, Joey Smith, Olivier Cahagne, Phil Driscoll, Sebastian Bergmann, Zak Greant