Módulo 8 · 8.4
Versões de PHP e atualizações
Módulo 8: Cópias de segurança, ambiente de testes (staging) e atualizações de PHP · Tempo de leitura: 10 minutos
Objetivo de aprendizagem: Depois desta lição, saberá preparar, executar e, se necessário, reverter uma atualização de PHP em segurança.
Conceitos-chave: ciclo de vida do PHP (suporte ativo, apenas segurança, fim de vida), compatibilidade do WordPress, tema e plugins, obsoleto (deprecated), aviso, erro fatal, Diagnóstico do site, registo de erros, staging, restaurar, pedir uma atualização a terceiros
Porque é que as versões de PHP são importantes
O WordPress, o seu tema e os seus plugins estão escritos em PHP (lição 1.2). Todos os anos é lançada uma nova versão de PHP (8.3, 8.4, 8.5, ...). Cada versão é mantida durante um período fixo:
- suporte ativo: dois anos com correções de erros e de segurança;
- apenas segurança: depois, mais dois anos apenas com correções de segurança;
- fim de vida (end of life): sem mais correções, nem sequer para falhas de segurança.
A situação em 8 de novembro de 2026, segundo o php.net:
| Versão | Atualizações de segurança até | Situação |
|---|---|---|
| 8.1 e anteriores | (ultrapassado) | Já não há atualizações |
| 8.2 | 31 de dezembro de 2026 | Apenas segurança, quase no fim |
| 8.3 | 31 de dezembro de 2027 | Apenas segurança |
| 8.4 | 31 de dezembro de 2028 | Ativo |
| 8.5 | 31 de dezembro de 2029 | Ativo |
Uma site numa versão sem atualizações funciona com software com falhas conhecidas que já não são corrigidas. Além disso, as versões mais recentes são visivelmente mais rápidas (lição 6.3). E o wordpress.org recomenda PHP 8.3 ou superior (situação em novembro de 2026). A ideia é, portanto, manter-se atualizado todos os anos, e não dar um grande salto uma vez a cada cinco anos.
Porque é que uma atualização pode quebrar algo
Cada nova versão de PHP altera algo. Funções já há anos marcadas como obsoletas (deprecated) são removidas, e as regras tornam-se mais rigorosas. Alguns exemplos conhecidos:
- O PHP 8.0 removeu, entre outras,
create_function()eeach(), e muitos avisos passaram a ser erros; - O PHP 8.2 marcou a criação dinâmica de propriedades em objetos como obsoleta, algo muito comum em plugins antigos.
Há três tipos de mensagens, e a diferença entre elas é importante:
| Mensagem | Significado | Consequência |
|---|---|---|
| Deprecated (obsoleto) | "Isto ainda funciona, mas vai desaparecer numa versão futura" | Nada visível; um aviso para o futuro |
| Warning ou Notice | Algo não está totalmente correto | Normalmente nada visível, por vezes um componente comporta-se de forma estranha |
| Fatal error | O PHP para | Página em branco ou "erro crítico" (lição 5.4) |
O próprio WordPress acompanha geralmente bem as novas versões de PHP. O risco está em plugins e temas antigos, sobretudo se não forem atualizados há muito tempo ou forem código à medida.
Encontrar a sua versão atual
- No WordPress: Ferramentas > Diagnóstico do site, separador Informação, em Servidor: a versão de PHP. O Diagnóstico do site também avisa se a sua versão estiver obsoleta.
- No painel de alojamento: no DirectAdmin com CloudLinux em Select PHP version (com "(current)" a seguir à versão atual).
- Por vezes o servidor revela-o no cabeçalho
X-Powered-By: PHP/8.3.x. É preferível que não (lição 7.4), mas se estiver lá, é fácil de ver.
Atenção: em muitos fornecedores de alojamento, a versão de PHP aplica-se a todo o pacote, ou seja, a todas as sites nele incluídas. Uma site antiga no mesmo pacote pode impedir a atualização. É mais uma razão para arrumar sites antigas ou dar-lhes um pacote próprio.
A atualização: passo a passo
- Atualizar primeiro. Atualize o WordPress, o seu tema e todos os seus plugins na versão de PHP atual. Boa parte dos problemas já fica assim resolvida, porque os criadores adaptam o seu código às novas versões de PHP.
- Veja o que os seus plugins indicam. Na página do plugin no wordpress.org consta a versão de PHP exigida; no changelog aparece muitas vezes "compatible with PHP 8.x". Um plugin que não é atualizado há anos (lição 5.3) é candidato a ser substituído.
- Fazer uma cópia de segurança (lição 8.1).
- Testar em ambiente de testes (staging) (lição 8.3). Se o seu fornecedor de alojamento permitir uma versão de PHP diferente por site, coloque o ambiente de testes na nova versão. Se isso não for possível (uma versão por pacote), teste num ambiente de testes noutro pacote, localmente, ou escolha um momento calmo em produção com a versão antiga pronta para restaurar.
- Mudar de versão: escolha a nova versão no seu painel. No DirectAdmin com CloudLinux, escolhe-se em Select PHP version e clica-se em Apply; sem Apply, nada muda.
- Verificar de imediato: abra a sua site e navegue por algumas páginas, incluindo a administração, um formulário e (numa loja) o checkout. Veja no registo de erros (lição 5.4) se há novas linhas
PHP Fatal error. - Extensões e definições: em alguns fornecedores de alojamento, as extensões de PHP e opções (como
memory_limit) estão associadas a uma versão. Depois da mudança, verifique se estão corretamente configuradas na nova versão.
Se algo correr mal
- Erro fatal: reponha a versão antiga (na maioria dos fornecedores de alojamento isso é imediato), para que a sua site volte a funcionar. Procure no registo de erros qual foi o plugin ou tema responsável (o caminho consta na mensagem de erro), atualize-o, substitua-o ou peça ao autor uma solução. Depois tente novamente.
- Apenas mensagens deprecated: não há motivo para recuar. Mas é um aviso: na versão seguinte pode tornar-se um erro. Anote qual é o plugin.
- Código à medida que deixou de funcionar: uma site antiga criada por um criador de sites pode conter código que já ninguém mantém. Nesse caso, esse código tem de ser adaptado por alguém com conhecimentos de PHP. Alguns fornecedores de alojamento, incluindo a WebOké, oferecem-se para fazer isso por si.
Não deixe uma site «para sempre» numa versão antiga só porque um plugin não acompanha. Isso é apenas adiar um problema que cresce todos os anos.
Mais segurança antecipada
Para quem quiser ir mais além: com o PHP_CodeSniffer e as regras do PHPCompatibilityWP pode mandar verificar o código dos seus plugins e temas em busca de coisas que não funcionam numa versão mais recente de PHP, sem ter de executar a site. Isto encontra muitos problemas, mas não todos. Testar em ambiente de testes (staging) continua a ser necessário.
Na prática: como se apresenta num painel
Como exemplo, usamos o DirectAdmin com CloudLinux. No cPanel chama-se muitas vezes MultiPHP Manager ou Select PHP Version, no Plesk PHP Settings.
- Abra Select PHP version (em Extra Programas).
- Clique na versão em PHP version, escolha a nova versão e clique em Apply.
- Verifique os separadores Extensions e Options para a nova versão.
- Verifique a sua site e o registo de erros. Se algo não funcionar, escolha a versão antiga e Apply.
Resumo
- Cada versão de PHP recebe dois anos de suporte ativo e dois anos apenas de segurança; depois, não há mais correções. Em 8 de novembro de 2026, a versão 8.1 já não recebe nada e a 8.2 só até ao final de 2026.
- Uma atualização afeta sobretudo plugins e temas antigos; deprecated é um aviso, um fatal error para a site.
- Ordem: atualizar tudo, verificar plugins, cópia de segurança, testar em ambiente de testes (staging), mudar de versão, verificar de imediato.
- Se algo correr mal, reponha a versão antiga, encontre o culpado no registo de erros e resolva o problema; não fique parado numa versão antiga.
- Em muitos fornecedores de alojamento, a versão aplica-se a todo o pacote; arrume as sites antigas.
Questionário
Exercício
Exercício A8.4: A sua versão de PHP ainda tem suporte? Veja em Ferramentas > Diagnóstico do site (separador Informação, Servidor) que versão de PHP a sua site utiliza e indique-a, juntamente com o seu domínio. O programa compara a versão com a lista de versões suportadas do php.net: verde para suporte ativo, laranja para apenas segurança, vermelho se já não houver atualizações. Se o seu servidor mostrar a versão no cabeçalho X-Powered-By, o programa também verifica se corresponde ao que indicou (e avisa que é melhor ocultar esse cabeçalho, lição 7.4).
Exercício D8.4: Um plano de atualização. Escreva um plano para a atualização da sua site para a versão de PHP mais recente oferecida pelo seu fornecedor de alojamento. Preencha: versão atual e versão de destino, que plugins e temas tem e se suportam a versão de destino (com indicação de onde leu isso), onde vai testar (ambiente de testes (staging), outro pacote, localmente), como pode reverter, e quando o vai fazer. Execute-o se conseguir, e anote o que apareceu no registo de erros.
Exercício D8.4: Um plano de atualização
Este exercício faz você mesmo; ninguém o verifica. Assinale o que já fez e marque o exercício como concluído.
Escolha uma versão de destino com suporte ativo (ou pelo menos ainda com atualizações de segurança) e indique, para cada plugin, uma fonte (página do plugin, changelog, Diagnóstico do site).
As suas marcações e notas ficam apenas neste navegador; não as enviamos para lado nenhum. Se tiver sessão iniciada, guardamos em Os meus cursos apenas que concluiu o exercício.
Leitura adicional
Estes artigos descrevem os passos nos painéis da WebOké; noutros painéis funcionam de forma semelhante.
- Manual DirectAdmin 14.1: Escolher a versão do PHP (Select PHP version)
- Manual DirectAdmin 14.6: Erros após uma atualização do PHP e como encontrar o log de erros
- Alterar a versão do PHP e as definições do PHP (e o que fazer em caso de erros após uma atualização)
- Manual DirectAdmin 14.2: Ativar e desativar extensões PHP
- Manual do WebOké 6.11: Pedir uma atualização de PHP
- Versões de PHP suportadas (php.net, em inglês): https://www.php.net/supported-versions.php
- PHP e versões do WordPress (make.wordpress.org, em inglês): https://make.wordpress.org/core/handbook/references/php-compatibility-and-wordpress-versions/
