Rasmus Lerdorf no empezó PHP con la ambición de crear un gran lenguaje general. En 1994 quería saber quién visitaba su currículo en línea, reutilizar fragmentos de página y procesar formularios con más facilidad. Para ello escribió programas en C ejecutados por el servidor.
Miles de creadores pronto necesitaron generar páginas según una petición, guardar entradas o consultar bases de datos sin construir toda una infraestructura en C ni coordinar scripts Perl separados.
PHP influyó porque redujo la distancia entre HTML y comportamiento. Su historia también es colectiva: desde PHP 3, Andi Gutmans, Zeev Suraski y una amplia comunidad reescribieron y ampliaron profundamente el proyecto inicial.
De Groenlandia a la ingeniería de sistemas
Lerdorf nació en Groenlandia en 1968 en una familia danesa y creció después en Dinamarca y Canadá. Estudió ingeniería de diseño de sistemas en la Universidad de Waterloo y se graduó en 1993.
La joven Web servía principalmente HTML estático. Las respuestas dinámicas usaban la Common Gateway Interface, que lanzaba un programa externo. CGI era potente, pero exigía analizar parámetros, producir cabeceras, escapar HTML y conectar almacenamiento. Lerdorf quiso eliminar ese trabajo repetitivo.
Personal Home Page Tools: medir y automatizar
En 1994, Lerdorf escribió binarios CGI en C para registrar visitas y reutilizar elementos de su sitio. Los llamó Personal Home Page Tools.
Añadió formularios para recuperar valores y crear libros de visitas, mostrar datos o adaptar páginas sin un programa CGI completo. Publicó el código en junio de 1995, permitiendo instalarlo, corregirlo y ampliarlo.
Los nombres PHP Tools, Forms Interpreter y Personal Home Page Construction Kit reflejaron la evolución desde el seguimiento de un sitio hasta un lenguaje integrado en HTML.
Incorporar el programa en la página
La innovación práctica de PHP/FI fue colocar instrucciones dinámicas dentro del HTML. El servidor interpretaba esas zonas y enviaba el resultado.
<h1>Hola <?= htmlspecialchars($name) ?></h1>
El desarrollador partía de una página ordinaria y añadía condiciones, formularios o datos donde debían aparecer. El resultado era rápido, pero mezclar datos, reglas y presentación perjudicaba pruebas y mantenimiento. Los frameworks separaron después estas capas sin borrar la ventaja inicial: PHP encontraba al creador dentro de su archivo existente.
PHP/FI 2: de caja de herramientas a lenguaje
En 1996, Lerdorf reunió y reescribió las herramientas como PHP/FI 2.0, con variables, funciones, condiciones, bucles, cookies y bases de datos. La sintaxis inspirada en C y Perl era familiar y las operaciones web estaban listas.
La arquitectura de un proyecto realizado principalmente por una persona alcanzó sus límites. Lerdorf aceptó una reescritura mejor en vez de proteger cada detalle. Esa disposición fue esencial para la supervivencia de PHP.
PHP 3: la reescritura que cambió la escala
En 1997, Andi Gutmans y Zeev Suraski encontraron límites en PHP/FI y reescribieron el parser. Contactaron con Lerdorf y colaboraron en un lenguaje que conservaba usuarios y enfoque, pero añadía sintaxis más coherente, extensibilidad, objetos iniciales y módulos.
PHP pasó a significar PHP: Hypertext Preprocessor. Un equipo internacional publicó PHP 3.0 en junio de 1998. Lerdorf aportó origen y dirección pragmática; Gutmans, Suraski y muchos colaboradores construyeron la plataforma. Los créditos oficiales registran responsabilidades separadas.
El modelo de petición que facilitó el despliegue
PHP carga históricamente el contexto para cada petición, produce una respuesta y libera casi todo el estado. Los datos persistentes viven en bases, archivos, cachés o sesiones externas.
El modelo aísla peticiones y facilita repartirlas entre procesos. El arranque repetido cuesta, pero la integración, cachés de opcodes y optimización lo compensan. Workers persistentes, WebSockets y tareas largas requieren más cuidado al apartarse del ciclo sin estado.
PHP triunfó en parte por ajustarse a la estructura concreta de una petición HTTP y su página de respuesta.
Tras PHP 3, Gutmans y Suraski reescribieron el núcleo. Zend Engine, llamado por sus nombres, impulsó PHP 4 en 2000. PHP 5 y Zend Engine II reforzaron objetos, excepciones y bases de datos.
Después llegaron espacios de nombres, traits, generadores, más tipado, el rendimiento de PHP 7 y los atributos, uniones y JIT de PHP 8. Lerdorf siguió contribuyendo, especialmente en rendimiento y seguridad, pero no fue el único arquitecto.
La sucesión de motores y equipos muestra que un creador puede dar impulso sin convertirse en cuello de botella.
LAMP: una pila accesible para publicar una idea
PHP se difundió con Linux, Apache y MySQL o PostgreSQL, combinación resumida como LAMP. Los alojamientos compartidos ofrecían una carpeta para archivos PHP sin proceso permanente ni despliegue complejo.
WordPress, Drupal, Joomla, foros y tiendas multiplicaron la accesibilidad. La disponibilidad predeterminada, ejemplos copiables y bases comunes importaron tanto como la sintaxis.
El legado es enorme: varias versiones en alojamiento, aplicaciones antiguas que frenan migraciones y fallos en módulos populares capaces de afectar a muchos sitios.
Un diseño guiado por casos reales
Lerdorf describe PHP como herramienta para resolver problemas, no lenguaje nacido de un gran plan. Las funciones aparecieron porque un sitio debía decodificar peticiones, crear imágenes o acceder a datos.
Ese pragmatismo explica fortaleza e irregularidad. Nombres, argumentos y retornos no siempre siguen una regla porque bibliotecas de épocas y autores distintos priorizaron compatibilidad.
Un diseño sobre papel habría sido más simétrico, pero quizá habría perdido el momento histórico. PHP moderno añade API coherentes y retira comportamientos, aunque no puede renombrar libremente décadas de uso.
Seguridad: la facilidad no elimina las fronteras de confianza
El acceso fácil a peticiones favoreció a veces mezclas peligrosas con SQL, rutas o comandos. register_globals incluso convertía parámetros HTTP en variables globales, ocultando su origen; las versiones modernas lo eliminaron.
El problema es confundir datos e instrucciones, no una incapacidad intrínseca de PHP. Consultas preparadas, escape contextual, validación, contraseñas seguras y permisos mínimos permiten aplicaciones robustas.
Valores predeterminados, criptografía, drivers, diagnósticos y frameworks mejoraron, pero queda código antiguo. Democratizar exige que actuar con seguridad sea tan fácil como hacerlo de forma insegura.
De los frameworks a la profesionalización del ecosistema
Al crecer las aplicaciones, Symfony y Laravel separaron rutas, controladores, modelos, vistas y servicios, aportando dependencias, migraciones y protecciones.
Composer organizó dependencias y PHP-FIG armonizó carga, interfaces y estilo. Estas herramientas responden a una escala distinta de un archivo PHP dentro de HTML.
PHP pasó de reducir ceremonia a restaurar estructura cuando la complejidad lo exige. La madurez conserva una entrada accesible sin fingir que una página sirve para todos los sistemas.
Lerdorf después de la creación inicial
Lerdorf trabajó en Yahoo!, WePay y Etsy sobre rendimiento, perfilado y seguridad de grandes plataformas, y siguió contribuyendo a PHP.
Sus conferencias destacan el ecosistema frente al culto al creador. Publicó herramientas para que otros las modificaran, aceptó la reescritura y compartió PHP 3.
Su aportación personal sigue siendo decisiva: reconocer que la Web necesitaba programación próxima a la página y elegir una forma accesible para copiar y adaptar.
Por qué Rasmus Lerdorf sigue siendo importante
PHP permitió a estudiantes, asociaciones, pequeñas empresas y desarrolladores convertir documentos estáticos en aplicaciones con datos sin equipo de infraestructura. Su impacto incluye millones de ideas modestas publicadas.
El lenguaje lleva marcas de esa apertura. Las críticas a su irregularidad son válidas, pero incompletas sin el problema resuelto. Lerdorf también mostró cómo un proyecto puede volverse colectivo: PHP 3 y Zend fundamentaron las versiones que conquistaron la Web.
El principio duradero es que una tecnología cambia el mundo al reducir el coste entre intención y publicación. Después debe crecer sin perder la accesibilidad que la hizo útil.
Cronología
- 1968: Rasmus Lerdorf nace en Groenlandia.
- 1993: se gradúa en ingeniería de diseño de sistemas en Waterloo.
- 1994: crea los primeros binarios CGI para su sitio.
- Junio de 1995: publica el código de PHP Tools.
- 1995: el proyecto evoluciona mediante Forms Interpreter hasta PHP.
- 1996: PHP/FI 2.0 se convierte en lenguaje integrado en HTML.
- 1997: comienza la reescritura con Gutmans y Suraski.
- Junio de 1998: el equipo internacional publica PHP 3.
- 2000: PHP 4 adopta Zend Engine.
- 2004: PHP 5 y Zend Engine II refuerzan los objetos.
- 2015: PHP 7 mejora mucho rendimiento y memoria.
- 2020: PHP 8 añade atributos, uniones y JIT.
- Años 2000–2020: Lerdorf continúa trabajando en rendimiento y seguridad web.
Preguntas frecuentes
¿Quería Rasmus Lerdorf crear un lenguaje de programación?
No al principio. Construía herramientas CGI para seguir visitas, reutilizar contenido y procesar formularios. Las necesidades de los usuarios convirtieron la caja de herramientas en lenguaje.
¿Creó Rasmus Lerdorf él solo el PHP moderno?
No. Creó PHP Tools y PHP/FI y colaboró en PHP 3. Gutmans y Suraski reescribieron el parser y diseñaron Zend; muchos colaboradores construyeron las versiones y extensiones modernas.
¿Qué significa PHP actualmente?
Significa «PHP: Hypertext Preprocessor», un acrónimo recursivo. El «Personal Home Page Tools» inicial quedó pequeño cuando el proyecto se convirtió en lenguaje general de servidor.
¿Por qué se difundió tanto PHP?
Añadía comportamiento al HTML con poca instalación, accedía directamente a formularios y bases, y estaba disponible en muchos alojamientos. Los CMS libres multiplicaron su alcance.
¿PHP solo es adecuado para sitios pequeños?
No. Frameworks, dependencias, analizadores estáticos y mejoras del motor permiten grandes aplicaciones. Su entrada sencilla no elimina la necesidad de arquitectura, pruebas y seguridad al crecer.