Em resumo: A história do PHP começa em 1994 com Rasmus Lerdorf, que designou por «Personal Home Page Tools» uns programas CGI escritos em C para o seu site privado. Em 1998 surgiu o PHP 3, em 2000 o PHP 4 com a Zend Engine, em 2004 o PHP 5, em 2015 o PHP 7 e em 2020 o PHP 8. Hoje sai uma nova versão todos os anos em novembro, mantida durante quatro anos.
Como nasceu o PHP: Personal Home Page Tools (1994 a 1997)
Segundo o manual do PHP, Rasmus Lerdorf escreveu em 1994 uma série de programas CGI em C. Inicialmente destinavam-se apenas a registar as visitas ao seu currículo online. Chamou à coleção «Personal Home Page Tools» e publicou o código-fonte em junho de 1995. Assim, outros também puderam usar e melhorar as ferramentas.
Em setembro de 1995, Lerdorf ampliou as ferramentas e chamou-lhes provisoriamente «FI» (Forms Interpreter). Em outubro de 1995 seguiu-se uma reescrita completa, de novo com o nome PHP. Em abril de 1996 uniu os dois nomes em PHP/FI. Esta versão recebeu em junho de 1996 o estatuto de versão 2.0 e saiu da fase beta em novembro de 1997.
Já esta fase inicial marca o PHP até hoje: uma linguagem que nasceu de uma necessidade prática, dá resultados depressa e é desenvolvida por uma comunidade aberta.
O PHP 3 e a Zend Engine (1997 a 2004)
Em 1997, Andi Gutmans e Zeev Suraski, de Telavive, começaram a reescrever o analisador sintático, isto é, a parte que lê e decompõe o código-fonte. Em conjunto com Lerdorf, daí resultou uma nova linguagem que passou a chamar-se apenas «PHP». O nome tornou-se o acrónimo recursivo «PHP: Hypertext Preprocessor». O PHP 3.0 saiu em junho de 1998 como sucessor do PHP/FI 2.0. Contaram sobretudo a boa extensibilidade e o primeiro suporte à programação orientada a objetos.
Depois, Gutmans e Suraski reescreveram de novo o núcleo. O resultado foi a Zend Engine, com o nome formado a partir dos seus nomes próprios, Zeev e Andi. Foi apresentada em meados de 1999. O PHP 4.0 saiu em maio de 2000 e trouxe melhor desempenho, sessões HTTP e armazenamento temporário da saída.
Em julho de 2004 chegou o PHP 5, com a Zend Engine 2.0 e um novo modelo de objetos. A série 5 manteve-se em uso durante muito tempo e cresceu a cada versão secundária. Com o PHP 5.3.3 veio o FastCGI Process Manager (FPM) como modo de operação próprio e, com o PHP 5.5.0, a cache de bytecode OPcache passou a fazer parte da distribuição.
O PHP 6 que não houve e o salto para o PHP 7 (2005 a 2019)
O PHP 6 devia trazer um suporte profundo a Unicode, ou seja, o tratamento uniforme de todos os carateres. Segundo o manual, esse trabalho foi abandonado. Algumas funcionalidades planeadas passaram para o PHP 5.3 (espaços de nomes) e para o PHP 5.4 (traits e a notação curta de arrays []). A versão principal seguinte recebeu, por isso, o número 7.
O PHP 7.0 saiu a 3 de dezembro de 2015 com a Zend Engine 3.0. A base foi o projeto PHPNG, uma revisão do núcleo sob a direção de Dmitry Stogov. O RFC correspondente, uma proposta formal de alteração, indicava ganhos de desempenho de 20 a 110 por cento em aplicações reais como o WordPress e o Drupal. Entre as novidades contavam-se o operador de coalescência nula ?? e as classes anónimas.
<?php
// Desde o PHP 7.0: valor por defeito sem cadeia de isset()
$sprache = $_GET['lang'] ?? 'de';
A série 7 terminou com o PHP 7.4. A sua última versão, 7.4.33, saiu a 3 de novembro de 2022; segundo o php.net, o suporte terminou a 28 de novembro de 2022.
O PHP 8 e o ritmo anual (2020 até hoje)
O PHP 8.0 saiu a 26 de novembro de 2020 com argumentos nomeados, tipos união, atributos, o operador nullsafe ?->, expressões match e um compilador JIT. Desde então, segue-se todos os anos uma nova versão secundária. O que cada versão trouxe descreve-o o resumo PHP 8.0 a 8.5.
| Versão | Primeira publicação | Pontos principais |
|---|---|---|
| PHP 3.0 | junho de 1998 | novo analisador sintático, nome «PHP: Hypertext Preprocessor» |
| PHP 4.0 | maio de 2000 | Zend Engine, sessões, armazenamento temporário da saída |
| PHP 5.0 | julho de 2004 | Zend Engine 2.0, novo modelo de objetos |
| PHP 7.0 | 3 de dezembro de 2015 | Zend Engine 3.0, claramente mais rápido |
| PHP 8.0 | 26 de novembro de 2020 | JIT, atributos, tipos união |
| PHP 8.1 | 25 de novembro de 2021 | enums, fibers, propriedades readonly |
| PHP 8.2 | 8 de dezembro de 2022 | classes readonly, tipos DNF |
| PHP 8.3 | 23 de novembro de 2023 | constantes de classe tipadas |
| PHP 8.4 | 21 de novembro de 2024 | property hooks, visibilidade assimétrica |
| PHP 8.5 | 20 de novembro de 2025 | operador pipe, extensão URI |
Em 2024, o projeto PHP votou um novo ciclo de lançamentos. Desde então, cada ramo de versão recebe dois anos de suporte ativo e dois anos de correções de segurança, sempre até 31 de dezembro. As regras em pormenor estão em Versões do PHP e ciclo de lançamentos.
O que a história significa hoje para a segurança
A longa história é uma força, porque o PHP é estável e bem documentado. Mas é também um fardo: em muitos servidores correm versões que foram configuradas há anos e nunca substituídas. O PHP 5.6 está sem suporte oficial desde 31 de dezembro de 2018, o PHP 8.0 desde 26 de novembro de 2023 e o PHP 8.1 desde 31 de dezembro de 2025.
O PHP2Shell tornou isto visível. Segundo a imprensa especializada, estão afetadas quase todas as versões até ao PHP 5.4. Desde 21 de outubro de 2026 existem correções oficiais apenas para os ramos 8.2 a 8.5; para 7.4, 8.0 e 8.1 há apenas backports mínimos do código-fonte. Quem opera versões mais antigas encontra as consequências no guia Fim de vida do PHP: riscos das versões obsoletas.
Anote para cada servidor a versão do PHP e a data em que termina o seu suporte. Assim, uma surpresa passa a ser uma data planeável.
Como ajuda concretamente a PHP SOS?
- Encontrar legado: Apuramos que gerações de PHP ainda correm nos seus servidores, também em sistemas esquecidos.
- Avaliar o risco: Mostramos que versões recebem atualizações oficiais e onde restam apenas soluções transitórias.
- Planear a migração: Com a migração do PHP 8.1 e anteriores levamos as aplicações para uma versão suportada, testadas antes da mudança.
- Documentar: Recebe um resumo com versões e datas de fim de suporte para o seu planeamento.
Perguntas frequentes
Quem inventou o PHP?
O PHP remonta a Rasmus Lerdorf. Em 1994 escreveu em C uma coleção de programas CGI a que chamou Personal Home Page Tools. A partir de 1997, Andi Gutmans e Zeev Suraski reescreveram o analisador sintático, de onde resultou o PHP 3.
O que significa a abreviatura PHP?
Originalmente, Personal Home Page. Desde o PHP 3, o nome é um acrónimo recursivo: PHP: Hypertext Preprocessor. A abreviatura contém-se, portanto, a si própria.
Por que razão não existiu o PHP 6?
O PHP 6 devia trazer um suporte profundo a Unicode. Segundo o manual do PHP, esse trabalho foi abandonado. Algumas funcionalidades planeadas chegaram ao PHP 5.3 e 5.4, e a versão principal seguinte passou a chamar-se PHP 7.
Desde quando existem o PHP-FPM e o OPcache?
O PHP-FPM foi incluído com o PHP 5.3.3 como SAPI própria. O OPcache faz parte da distribuição desde o PHP 5.5.0, segundo o manual, e antes estava disponível via PECL para as versões 5.2 a 5.4.