PHP succede un produs mai vechi, numit PHP/FI. PHP/FI a fost creat de către Rasmus Lerdorf în 1995, inițial doar ca un simplu set de scripturi Perl pentru a urmări accesele la rezumatul său online. El a denumit acest set de scripturi 'Personal Home Page Tools — Instrumente pentru paginile personale'. Deoarece era necesară mai multă funcționalitate, Rasmus a scris o implementare mult mai largă în C, care era în stare să comunice cu baze de date și dădea posibilitate utilizatorilor să dezvolte simple aplicații Web dinamice. Rasmus a hotărât să » lanseze codurile-sursă ale PHP/FI pentru ca oricine să le poată vedea, utiliza, să poată corecta erorile din ele și să îmbunătățească codul-sursă.
PHP/FI, care se descifra ca Personal Home Page / Forms Interpreter — Interpretor al paginilor personale / al formularelor, includea unele funcționalități de bază ale PHP pe care îl cunoaștem astăzi. El poseda variabile asemănătoare cu cele din Perl, interpretare automată a variabilelor din formulare și sintaxă inclusă în HTML. Insăși sintaxa era similară cu cea din Perl, cu toate că era mult mai limitată, simplă și într-un anumit fel inconsistentă.
În 1997, PHP/FI 2.0, a doua re-scriere a implementării în C, avea un cult din câțiva mii de utilizatori din lume (estimat), cu aproximativ 50,000 domenii, care raportau că îl au instalat, ceea ce reprezenta aproximativ 1% din toate domeniile din Internet. Cu toate că erau câteva persoane, care contribuiau porțiuni de coduri-sursă în acest proiect, el era totuși în mare măsură un proiect al unui singur om.
PHP/FI 2.0 a fost oficial lansat doar în noiembrie 1997, după ce și-a petrecut o bună parte a vieții în versiuni beta. În scurt timp el a fost înlocuit de versiunile alfa ale PHP 3.0.
Example #1 Exemplu de cod PHP/FI
<!--include /text/header.html--> <!--getenv HTTP_USER_AGENT--> <!--ifsubstr $exec_result Mozilla--> Hey, you are using Netscape!<p> <!--endif--> <!--sql database select * from table where user='$username'--> <!--ifless $numentries 1--> Sorry, that record does not exist<p> <!--endif exit--> Welcome <!--$user-->!<p> You have <!--$index:0--> credits left in your account.<p> <!--include /text/footer.html-->
PHP 3.0 a fost prima versiune care se aseamănă mult cu PHP, așa cum îl cunoaștem astăzi. El a fost creat de către Andi Gutmans și Zeev Suraski în 1997 ca o re-scriere completă, după ce ei au descoperit că PHP/FI 2.0 avea o capacitate foarte redusă pentru a dezvolta o aplicație de comerț electronic, asupra cărei ei lucrau într-un proiect al Universității. Într-un efort de a coopera și a continua dezvoltarea PHP/FI cu baza existentă de utilizatori, Andi, Rasmus și Zeev au decis să coopereze și au anunțat PHP 3.0 în calitate de succesor oficial al PHP/FI 2.0, iar dezvoltarea PHP/FI 2.0 a fost în mare măsură stopată.
Unul din cele mai mari avantaje ale PHP 3.0 erau facilitățile sale largi de extindere. În afară de faptul că oferea utilizatorilor finali o infrastructură solidă pentru o multitudine de baze de date, protocoale și interfețe API, facilitățile de extindere ale PHP 3.0 au impulsionat zeci de programatori să se alăture și să înainteze noi module de extindere. Discutabil, aceasta a fost cheia succesului enorm al PHP 3.0. Alte facilități de bază introduse în PHP 3.0 au fost susținerea sintaxei orientate pe obiecte și o sintaxă a limbajului mult mai puternică și consistentă.
Noul limbaj a fost lansat sub un nou nume, care excludea implicarea unei utilizări personale limitate, pe care o avea numele PHP/FI 2.0. El a fost numit pur și simplu 'PHP', sensul fiind un acronim recursiv - PHP: Hypertext Preprocessor — Preprocesor al Hipertextului.
Spre sfîrșitul anului 1998, PHP a atins un număr de zeci de mii de utilizatori (estimat) și sute de mii de site-uri Web raportau că îl au instalat. În punctul său de vârf, PHP 3.0 a fost instalat aproximativ pe 10% din toate serverele Web din Internet.
PHP 3.0 a fost lansat oficial în iunie 1998, după ce a petrecut aproximativ 9 luni în faza de testare publică.
Către iarna anului 1998, la scurt timp după ce PHP 3.0 a fost lansat oficial, Andi Gutmans și Zeev Suraski au început lucrul asupra rescrierii nucleului PHP. Scopurile reproiectării erau de a îmbunătăți performanța aplicațiilor complexe și de a îmbunătăți modularitatea bazei de coduri-sursă ale PHP. Astfel de aplicații puteau fi realizate datorită noilor facilități din PHP 3.0, precum și a susținerii unei game largi de baze de date și interfețe API ale terților producători, însă PHP 3.0 nu fusese proiectat să lucreze cu astfel de aplicații complexe în mod eficient.
Noul nucleu, denumit 'Zend Engine' (compus din numele autorilor, Zeev și Andi), a făcut față cerințelor de proiect cu succes, și a fost prezentat pentru prima dată la mijlocul anului 1999. PHP 4.0, bazat pe acest nucleu și în cuplu cu o gamă largă de facilități noi a fost lansat oficial în mai 2000, aproape doi ani după predecesorul său, PHP 3.0. Suplimentar la performanța îmbunătățită substanțial în această versiune, PHP 4.0 a inclus alte facilități de bază, cum ar fi susținerea mult mai multor servere Web, sesiunilor HTTP, buferizarea ieșirii, metode mai securizate de gestionare a datelor introduse de utilizatori și câteva construcții noi ale limbajului.
Astăzi PHP este utilizat de sute de mii de programatori (estimat) și câteva milioane de site-uri raportează că îl au instalat, ceea ce alcătuiește peste 20% din toate domeniile din Internet.
Echipa de dezvoltare a PHP include zeci de programatori, precum și alte zeci de persoane ce lucrează asupra proiectelor asociate cu PHP, cum ar fi PEAR și proiectul de documentare.
PHP 5 a fost lansat în iulie 2004 după o lungă perioadă de dezvoltare și câteva lansări preliminare. El este condus de nucleul său, Zend Engine 2.0 cu un nou model de obiecte și o duzină de alte noi facilități.