PHP proviene de un programa anterior, llamado PHP/FI. PHP/FI fue creado por Rasmus Lerdorf en 1995, inicialmente como un simple conjunto de scripts de Perl para controlar quién accedia a su curriculum online. Llamó a ese conjunto de scripts 'Personal Home Page Tools'. Según se requería, Rasmus fue añadiendo más funcionalidad escrita en C que era capaz de comunicarse con bases de datos y permitía a los usuarios desarrollar sencillas aplicaciones Web dinámicas. Rasmus decidió » liberar el código fuente de PHP/FI para que cualquiera pudiese utilizarlo, así como arreglar errores y mejorar el código.
PHP/FI, que se mantuvo para páginas personales y como intérprete de formularios, incluidas algunas de las funciones básicas de PHP tal y como lo conocemos hoy. Tenía variables como las de Perl, interpretación automática de variables de formulario y sintaxis incrustada HTML. La sintaxis por sí misma era similar a la de Perl, aunque mucho más limitada, simple y algo inconsistente.
En 1997, PHP/FI 2.0, la segunda vez que se escribió la implentación en C, tuvo un seguimiento estimado de varios miles de usuarios en todo el mundo, aproximadamente 50.000 dominios tenían PHP/FI instalado, sumando alrededor del 1% de los dominios de Internet. Mientras había mucha gente contribuyendo con líneas de código a este proyecto, en su mayor parte era todavía el proyecto de una sola persona.
PHP/FI 2.0 no se liberó oficialmente hasta Noviembre de 1997, después de estar la mayoría del tiempo en versión beta. Después de poco tiempo de liberarse aparecieron las primeras versiones alpha de PHP 3.0.
Example #1 Ejemplo de código PHP/FI
<!--include /text/header.html--> <!--getenv HTTP_USER_AGENT--> <!--ifsubstr $exec_result Mozilla--> Hey, ¡está usando Netscape!<p> <!--endif--> <!--sql database select * from table where user='$username'--> <!--ifless $numentries 1--> Lo siento, esta entrada no existe<p> <!--endif exit--> Bienvenido <!--$user-->!<p> Tiene <!--$index:0--> créditos restantes en su cuenta.<p> <!--include /text/footer.html-->
PHP 3.0 era la primera versión que más se parece al PHP que conocemos hoy. Fué reescrito completamente por Andi Gutmans and Zeev Suraski en 1997, después de que dieran cuenta que PHP/FI no era suficiente para el desarrollo de una aplicacción eCommerce cuando estaban trabajando para un proyecto universitario. En un esfuerzo para cooperar y empezar a construir sobre la base de usuarios de PHP/FI Andi, Rasmus y Zeev anunciaron PHP 3.0 como el oficial sucesor de PHP/FI 2.0. y el desarrollo de PHP/FI finalizó.
Una de las mejores características de PHP 3.0 era su gran extensibilidad. Además de proveer a los usuarios finales de una sólida infraestructura para muchísimas bases de datos, protocolos y APIs, las características de extensibilidad de PHP 3.0 atrajeron a docenas de desarrolladores a unirse y enviar nuevos módulos de extensión. Sin duda, ésta fue la clave del enorme éxito de PHP 3.0. Otras características clave introducidas en PHP 3.0 fueron el soporte de sintáxis orientado a objetos y una sintáxis de lenguaje mucho más potente y consistente.
El nuevo lenguaje fue liberado bajo un nuevo nombre, que se deshacía de la implicación de uso personal limitado que tenía el nombre PHP/FI 2.0. Fué nombrado 'PHP' a secas, con el significado de ser un acrónimo recursivo - PHP: Hypertext Preprocessor.
A finales de 1998, PHP creció hasta una base de instalación de decenas de millares de usuarios (estimados) y cientos de miles de sitios Web informando de su instalación. En su apogeo, PHP 3.0 estaba instalado en aproximadamente un 10% de los servidores Web en Internet.
PHP 3.0 se liberó oficialmente en Junio de 1998, después de unos 9 meses de testing público.
En el invierno de 1998, poco después del lanzamiento oficial de PHP 3.0, Andi Gutmans y Zeev Suraski comenzaron a trabajar en reescribir el núcleo de PHP. Los objetivos de diseño fueron mejorar la ejecución de aplicaciones complejas y mejorar la modularidad del código base de PHP. Estas aplicaciones se hicieron posibles por las nuevas características de PHP 3.0 y el apoyo de una gran variedad de bases de datos y APIs de terceros, pero PHP 3.0 no fue diseñado para el mantenimiento tan complejo de aplicaciones eficientemente.
El nuevo motor, apodado 'Motor Zend' (proviene de sus apellidos, Zeev y Andi), alcanzó estos objetivos de diseño satisfactoriamente, y se introdujo por primera vez a mediados de 1999. PHP 4.0, basado en este motor, y acoplado con un gran rango de nuevas características adicionales, fue oficialmente liberado en Mayo de 2000, casi dos años después que su predecesor, PHP 3.0. Además de la mejora de rendimiento de esta versión, PHP 4.0 incluía otras características clave como el soporte para la mayoría de los servidores Web, sesiones HTTP, buffers de salida, formas más seguras de controlar las entradas de usuario y muchas nuevas construcciones de lenguaje.
A día de hoy, PHP es usado por cientos de miles de desarrolladores (estimado), y varios millones de sitios web informan que lo tienen instalado, lo que cuenta alrededor del 20% de dominios en Internet.
El equipo de desarrollo de PHP incluye docenas de programadores, así como otras docenas de personas trabajando en proyectos relacionados con PHP como PEAR y el proyecto de documentación.
PHP 5 fué lanzado en Julio del 2004 después de un largo desarrollo y varios pre-releases. Está básicamente impulsado por su núcleo, Zend Engine 2.0 que contiene un nuevo modelo de objectos y docenas de nuevas opciones.