Banco de dúvidas

Principais diferenças entre as versões do PHP

Oferecemos várias versões do PHP que você pode escolher para sua conta, podendo usar versões diferentes para sites e pastas diferentes ou mesmo para scripts diferentes na mesma pasta. As versões disponíveis incluem 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2, 8.3, 8.4 e 8.5. Isso permite a execução correta de vários scripts disponíveis na versão PHP específica para as quais foram desenvolvidos.

Importante: procure usar a versão mais atual do PHP que seja compatível com seu site, pois, quanto mais recente a versão, mais rápido seu site ficará, além de consumir menos memória do sistema. Mas, mesmo que você precise usar versões mais antigas por compatibilidade com seus scripts, nós aplicamos todos os patches de segurança disponíveis para cada versão, garantindo mais proteção para seu site.

A seguir, uma lista das principais diferenças entre as versões:

PHP 5.3 (lançado em 30 de junho de 2009) [changelog]

Em relação ao antigo PHP 4, o PHP 5.3 apresenta uma melhora em torno de 2x ou mais, especialmente devido à melhorias na Zend Engine, no gerenciamento de memória, otimizações internas e suporte à cache Opcode.

Obsoleto: ereg() e eregi() foram marcados como obsoletos e substituídos por preg_match().

PHP 5.4 (lançado em 1 de março de 2012) [changelog]

O PHP 5.4 representa uma melhora significativa de segurança com a remoção do register_globals, novas funções de hashing e atualização do OpenSSL. Trouxe também otimizações de loop e melhorias na extensão mbstring para suporte a caracteres multibyte.

Obsoleto: safe_mode e register_globals foram removidos.

PHP 5.5 (lançado em 20 de junho de 2013) [changelog]

O PHP 5.5 introduz OpCache como parte da distribuição padrão para acelerar a execução do PHP e aprimoramentos na otimização de código e gerenciamento de memória. O suporte nativo para chaves secretas na geração de tokens CSRF melhorou a proteção contra esse tipo de ataque.

Obsoleto: a função mysql_* foi marcada como obsoleta e substituída por mysqli ou PDO.

PHP 5.6 (lançado em 28 de agosto de 2014) [changelog]

O PHP 5.6 trouxe melhorias notáveis na criptografia, com suporte para criptografia de curvas elípticas (Elliptic Curve Cryptography, ou ECC), que oferece alto nível de segurança com chaves de tamanho menor. Além disso, aprimorou a segurança na manipulação de sessões com configurações de segurança de sessão mais rígidas e melhorou a proteção contra ataques de injeção de SQL com a adição de suporte a sentenças preparadas declarativas.

Obsoleto: o operador @ para suprimir erros é desencorajado, o módulo mcrypt foi marcado como obsoleto.

PHP 7.0 (lançado em 3 de dezembro de 2015) [changelog]

O PHP 7.0 introduziu o Zend Engine 3.0, proporcionando uma melhora de desempenho notável, geralmente 2x mais rápido. Além disso, a versão 7.0 trouxe melhorias na alocação de memória e otimizações no gerenciamento de recursos. Também foi aprimorada a detecção e correção de vulnerabilidades de segurança, tornando-o uma escolha mais segura em relação à versões anteriores.

Obsoleto: o operador += não suporta strings e arrays, funções iconv_set_encoding() e mbstring.encoding_translation foram marcadas como obsoletas.

PHP 7.1 (lançado em 1 de dezembro de 2016) [changelog]

Uma melhora na ordem de magnitude de 5% a 20% em relação ao PHP 7.0 é observada em muitos cenários. Em termos de segurança, o PHP 7.1 introduziu suporte para autenticação segura de e-mail (S/MIME), fornecendo criptografia e autenticação melhoradas para comunicações por e-mail, o que é especialmente importante em ambientes empresariais.

Obsoleto: mcrypt foi removido completamente.

PHP 7.2 (lançado em 30 de novembro de 2017) [changelog]

A velocidade geral do PHP foi aprimorada em torno de 10% a 20% em muitos cenários. Em relação à segurança, o PHP 7.2 introduziu a mitigação de ataques de injeção de código remotamente executável (Remote Code Execution) por meio de filtros de input e melhorias nas funções de hash de senhas para proteger melhor as credenciais do usuário. Também foram corrigidas vulnerabilidades de segurança e melhoradas práticas recomendadas de desenvolvimento seguro, tornando o PHP 7.2 uma escolha mais segura para desenvolvedores.

Obsoleto: create_function() foi marcada como obsoleta.

PHP 7.3 (lançado em 6 de dezembro de 2018) [changelog]

o PHP 7.3 otimizou ainda mais o Zend Engine, com melhorias notáveis na manipulação de arrays e execução de funções internas. Em termos de segurança, aprimoramentos no suporte para TLS (Transport Layer Security) e criptografia garantem comunicação mais segura com servidores remotos. Medidas de segurança adicionais foram implementadas para proteger contra ameaças comuns, incluindo injeção de código.

PHP 7.4 (lançado em 28 de novembro de 2019) [changelog]

O PHP 7.4 continuou otimizando o Zend Engine introduzindo recursos como o compilador JIT (Just-In-Time), que acelera significativamente a execução de código PHP. Também foram corrigidas mais vulnerabilidades de segurança e implementadas práticas recomendadas de desenvolvimento seguro.

Obsoleto: unserialize_callback_func foi removida.

PHP 8.0 (lançado em 26 de novembro de 2020) [changelog]

O PHP 8.0 inclui o compilador JIT como padrão, que compila partes do código PHP em código de máquina nativa, otimizando a execução em tempo real. Aprimoramentos de segurança como a introdução do modo strict_types por padrão, tornam a coerção de tipos mais rigorosa, reduzindo a probabilidade de erros de tipo.

Obsoleto: o operador = para atribuição por referência foi desencorajado. A função create_function() foi removida.

PHP 8.1 (lançado em 25 de novembro de 2021) [changelog]

A  velocidade geral do PHP foi aprimorada com ainda mais otimizações. O PHP 8.1 introduziu a verificação de tipos de argumentos em funções internas, tornando o código mais seguro ao evitar a passagem incorreta de argumentos, prevenindo potenciais erros de lógica e aumentando a robustez e a segurança das aplicações PHP.

Obsoleto: a função implode() com parâmetros invertidos foi desencorajada.

PHP 8.2 (lançado em 8 de dezembro de 2022) [changelog]

O PHP 8.2 continuou aprimorando a velocidade de execução dos scripts PHP com otimizações adicionais no Zend Engine, melhorando ainda mais a eficiência do código e tornando as aplicações web ainda mais rápidas. O PHP 8.2 implementou medidas adicionais para fortalecer a segurança, incluindo aprimoramentos nas funções de manipulação de strings para reduzir vulnerabilidades comuns, como estouro de buffer.

Obsoleto: a função strchr() foi marcada como obsoleta.

PHP 8.3 (lançado em 23 de novembro de 2023) [changelog]

O PHP 8.3 traz melhorias de tipagem, suporte aprimorado a classes readonly e novas funções úteis. Houve otimizações de desempenho, correções de bugs e aprimoramentos na aleatoriedade e manipulação de JSON/DOM.

Principais novidades

  • Constantes de classe tipadas (const com tipo explícito, incluindo em interfaces, traits e enums).
  • Clonagem profunda de propriedades readonly (possibilidade de reinicializar propriedades readonly durante o clone)
  • Nova função json_validate() para validar JSON sem parsing (mais eficiente em memória).
  • Atributo #[\Override] para marcar métodos que sobrescrevem outros.
  • Suporte a fetch dinâmico de constantes de classe e membros de Enum.
  • Nova função mb_str_pad() e melhorias na extensão Random.

Obsoleto/alterações: Algumas mudanças menores de compatibilidade (consulte o guia de migração). Recomenda-se testar scripts que lidam com readonly e JSON.

PHP 8.4 (lançado em 21 de novembro de 2024) [changelog]

Uma das versões mais impactantes recentes, com foco em redução de boilerplate, visibilidade assimétrica e melhorias de sintaxe. Inclui otimizações de JIT, suporte a HTML5 e novas funções de array.

Principais novidades:

  • Property Hooks (get e set diretamente na declaração de propriedades) — elimina muito código repetitivo de getters/setters.
  • Visibilidade assimétrica (ex.: public private(set) $prop — leitura pública, escrita privada).
  • Instanciação de objetos sem parênteses extras para chaining: new MyClass()->method().
  • Novas funções de array: array_find(), array_find_key(), array_any(), array_all().
  • Atributo nativo #[\Deprecated] e outras melhorias em Sodium, BCMath, Intl etc.

Obsoleto/alterações: Remoção/migração de extensões como Pspell e IMAP para PECL, depreciações em sessões e tipos nullable implícitos. Excelente para modernizar código legado.

PHP 8.5 (lançado em 20 de novembro de 2025) [changelog]

Versão com foco em ergonomia, encadeamento de funções e manipulação de URLs. Continua as melhorias de desempenho e type safety das versões anteriores.

Principais novidades:

  • Operador Pipe (|>) — facilita chaining de funções/callables de forma legível (estilo pipeline).
  • Clone with (clone $obj with { prop => value }) — modifica propriedades no momento da clonagem.
  • Nova extensão URI (parser moderno para URLs seguindo RFC 3986 e WHATWG).
  • Atributo #[\NoDiscard] (avisa se valor de retorno não for usado).
  • Melhorias em closures em expressões constantes, debugging e cURL.

Obsoleto/alterações: verifique o guia de migração para detalhes específicos de compatibilidade.

Esta lista é um resumo e está longe de ser completa, apenas destaca as principais mudanças em cada versão que podem causar incompatibilidade em scripts de versões diferentes. Para mais detalhes, consulte os changelogs específicos de cada versão.

É sempre recomendado usar a versão mais nova suportada pelo script ou framework que está usando, ou o PHP mais novo possível se está desenvolvendo seu próprio script.

Este artigo foi útil para você?