"Announce: Personal Home Page Tools". Con un messaggio al newsgroup Usenet comp.infosystems.www.authoring.cgi datato 8 giugno 1995, Rasmus Lerdorf annunciava la disponibilità della versione 1.0 di PHP Tools, «un set di piccoli file binari scritti in C».
È la prima versione di PHP, concepita alcuni mesi prima da Lerdorf per registrare le visite al curriculum vitae del proprio sito web senza accedere ai log del web server. Questa è la prima versione di PHP e assolveva alcune funzioni minime, tra le quali il log delle connessioni alle proprie pagine web, la loro protezione con password, il tracciamento dei referrer, le inclusioni server-side e poche altre. Come aveva fatto qualche anno prima Linus Torvalds con il kernel di Linux, anche Rasmus Lerdorf rilascia il set di script sotto la licenza open source GPL, più tardi abbandonata. Il fine è creare una base di utenti in grado di usare, testare ed ampliare lo scarno nucleo di questa prima applicazione.
Il progetto parte lento mentre Lerdorf comincia ad ampliare le funzionalità del Personal Home Page Tools. Nel settembre annuncia, nello stesso newsgroup, la disponibilità di un parser (un wrapper CGI chiamato FI, ossia Forms Interpreter), capace di interpretare in normali pagine HTML l'interazione con un database mSQL, il predecessore di MySQL. In questo messaggio troviamo uno dei primissimi codici di esempio del linguaggio server-side. Da notare l'uso di marcatori diversi per definire codice PHP (<!-- al posto dell'attuale <?).
<!--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>
A fine 1995 PHP raggiunge la versione 1.99 e cominciano ad arrivare i primi beta tester. Se ne discute sulle mailing list, alcuni sviluppatori lo usano e ne chiedono informazioni. Lerdorf può ben dire che «Se cercate un modo semplice per integrare il vostro database mSQL nelle vostre pagine Web, questo [PHP, ndr] fa al caso vostro». Il progetto comincia ad essere conosciuto come PHP/FI. Lerdorf dichiarò di aver chiamato così i due moduli dell'applicazione, sulla scia del nome TCP/IP.
La versione 2.0 giunge il 12 novembre 1997 ed una completa riscrittura delle due componenti sino ad allora divise: il set di scritp (PHP) e il parser (FI). PHP/FI 2.0, che oramai da tempo utilizzava la normale sintassi inclusa fra tag <?, processava file con estensione .phtml, poteva supportare i database mSQL, Postgres95 e MySQL. Nel 1997 PHP/FI era usato, secondo PHP.net, da 50 mila domini, con una rappresentanza dell'1 per cento.
Il punto di svolta è PHP 3, in cui fa la comparsa il parser creato dagli israeliani Zeev Suraski and Andi Gutmans, successivamente chiamato Zend Engine e la cui versione 2 è inclusa ora nel PHP 5. È un punto di svolta soprattutto per un motivo: il progetto passa dall'essere espressione di una sola persona, all'essere espressione di un gruppo di lavoro, un vero e proprio team di sviluppo di cui Suraski e Gutmans sono esponenti di spicco.
PHP/FI 2.0 viene messo subito da parte e nel giro di otto mesi esce PHP 3, rilasciato il 6 giugno 1998. La nuova versione ebbe uno straordinario successo ponendosi come la vera e propria punta di diamante della programmazione web server side. Il nuovo parser, il supporto per altri database, la compatibilità con Windows e con altri sistemi, una migliore gestione della memoria e soprattutto una più grande comunità di sviluppatori che gravitavano attorno al progetto diedero vita ad un software che, al massimo della sua espansione, copriva il 10 per cento dei server Internet del mondo. Il progetto cambia anche nome: PHP viene reinterpretato da "Personal Home Page" a "PHP: Hypertext Preprocessor", seguendo lo stile recorsivo di molti progetti open source.
PHP 4 fa la sua comparsa il 22 maggio 2000. La maggiore evoluzione di questa versione è da ricerca nello Zend Engine, rilasciato alcuni mesi prima da Gutmans e Suraski, mentre il creatore Rasmus Lerdorf appare sempre più defilato. Il miglioramento della velocità e la più ampia modularità hanno reso questa versione di PHP un altro rivoluzionario aggiornameto nella programmazione basata sul Web. La revisione del modello delle API, il supporto nativo per le sessioni in PHP, la migliore gestione della configurazione del file php.ini sono altri dei miglioramenti del nuovo linguaggio. Cambia la licenza: la GPL viene abbandonata in favore di una licenza, la PHP license, più restrittiva ma sempre open source.
Se con PHP 3 si è assistito alla posa della prima pietra, e con PHP 4 al perfezionamento delle performance e dell'apertura del linguaggio, con PHP 5, rilasciato il 13 luglio 2004, ben 4 anni dopo il PHP 4, il linuaggio raggiunge una prima maturità. Il nuovo Zend Engine 2 introduce un nuovo modello di programmazione ad oggetti, è stato introdotto un nuovo modello di interazione con i file XML e il nuovo supporto ai Web Services. Ma questa è storia di questi giorni che cercheremo di raccontarvi per intero.