Como atualizar o PHP no Ubuntu com CloudPanel, sem complicar
Um passo a passo para conferir pacotes, simular a atualização do PHP e validar os sites no Ubuntu com CloudPanel ou painéis equivalentes.
As vozes dependem do navegador e do dispositivo; algumas precisam de internet. Blocos de código não são narrados.
Se você usa Ubuntu com CloudPanel, a correção do PHP passa pelos pacotes do servidor e pela conferência dos sites depois. Vamos fazer isso por etapas, sem aproveitar a emergência para trocar toda a instalação.
Em 21 de outubro de 2026, o PHP publicou correções críticas nas versões 8.2.35, 8.3.36, 8.4.27 e 8.5.12. Use a versão corrigida ou posterior da mesma série. Alerta oficial. O contexto das falhas está no artigo anterior; aqui, o foco é aplicar a atualização.
1. Confirme se este roteiro serve para você
Os comandos atendem instalações com pacotes PHP versionados gerenciados pelo APT, como php8.4-fpm. Esse padrão aparece na documentação do CloudPanel. Outros painéis só entram neste roteiro se usarem o mesmo modelo.
Não aplique a seleção abaixo a Docker, PHP compilado manualmente, pacotes ea-php do cPanel ou pacotes próprios do Plesk. Cada um exige seu procedimento. A seleção também não cobre módulos libapache2-mod-php nem extensões com outros prefixos: revise-os separadamente.
Tenha backup recuperável dos sites, bancos e configurações, acesso ao console do provedor e uma janela de manutenção. Execute os blocos separadamente, como root, na mesma sessão Bash; quem usa sudo deve adaptar os comandos administrativos. Não cole tudo de uma vez.
2. Veja o que existe e o que está em uso
cat /etc/os-release
dpkg-query -W -f='${db:Status-Abbrev} ${binary:Package} ${Version}\n' 'php*'
O dpkg-query permite conferir estado, nome e versão dos pacotes. Registre a saída antes da mudança. Uma versão antiga instalada não prova que algum site a utiliza; também não é motivo para removê-la às cegas.
No CloudPanel, confira a versão em PHP Settings de cada site. Documentação das configurações. Liste cron jobs, filas e processos persistentes, como workers do Laravel/Horizon. O php -v genérico mostra o PHP do terminal, que pode ser diferente. Não altere update-alternatives para tentar corrigir essa diferença durante a manutenção.
3. Atualize os índices e confira a origem
apt-get update
Se houver erros de assinatura, download ou repositório, pare e resolva antes de continuar, mesmo que parte dos índices tenha sido atualizada.
Agora selecione apenas os pacotes PHP versionados já instalados, veja seus candidatos e simule:
mapfile -t php_pkgs < <(
dpkg-query -W -f='${binary:Package} ${db:Status-Status}\n' |
awk '$2 == "installed" && $1 ~ /^php[0-9]+[.][0-9]+([-:]|$)/ {print $1}'
)
if ((${#php_pkgs[@]} == 0)); then
printf '%s\n' 'STOP: php_pkgs is empty.'
else
printf '%s\n' "${php_pkgs[@]}"
apt-cache policy "${php_pkgs[@]}"
apt-get -s --no-remove install --only-upgrade "${php_pkgs[@]}"
fi
Se aparecer STOP, não prossiga: revise o método de instalação. A variável php_pkgs precisa continuar disponível na mesma sessão.
Em apt-cache policy, confira Installed, Candidate e a origem. Manual do apt-cache. Em Ubuntu 24.04, os repositórios devem ser compatíveis com Noble. Não misture Noble com outra distribuição, como Resolute, nem adicione um PPA apenas para fazer a versão aparecer.
Atualização disponível não significa correção confirmada. Compare a versão e a revisão completa do pacote com o boletim do fornecedor. Um backport pode manter o número antigo, mas exige confirmação explícita de que corrige estas falhas. Se o repositório ainda não entregar a correção, procure o suporte e planeje uma alternativa compatível; não declare o servidor protegido.
4. Revise e só então instale
O -s simula; --no-remove interrompe propostas com remoções; --only-upgrade restringe os alvos solicitados aos já instalados. Confira também dependências que a resolução possa exigir. Manual do APT.
Revise versões, dependências, pacotes retidos, conflitos e qualquer mudança de fornecedor. Se a simulação falhar ou algo parecer estranho, pare. Não force a transação, não faça full-upgrade nem autoremove como atalho.
Com a proposta aprovada, ainda na mesma sessão:
if ((${#php_pkgs[@]} > 0)); then
apt-get --no-remove install --only-upgrade "${php_pkgs[@]}"
else
printf '%s\n' 'STOP: php_pkgs is empty.'
fi
O comando mantém a confirmação interativa, sem -y. Leia o resumo novamente. Se houver pergunta sobre arquivo de configuração, compare as diferenças com seu backup; não substitua ajustes do painel indiscriminadamente. Aguarde o término e confirme que não houve erros.
5. Confira o PHP que realmente atende os sites
Repita o inventário e compare as revisões instaladas com a correção esperada. Abaixo, 8.5 é apenas exemplo: use somente se essa série estiver instalada e em uso; adapte para cada série necessária.
php8.5 -v
php-fpm8.5 -v
systemctl status php8.5-fpm --no-pager
systemctl status nginx --no-pager
Esses comandos conferem binários no disco e estado dos serviços. Não provam, sozinhos, que todos os workers antigos foram substituídos. Verifique os processos e a versão efetiva da aplicação por diagnóstico restrito, sem deixar uma página phpinfo() pública.
Se ainda houver processos antigos no FPM correspondente, teste a configuração e reinicie somente esse serviço, considerando a breve interrupção:
php-fpm8.5 -t && systemctl restart php8.5-fpm
O && impede o reinício se o teste falhar. As opções -v e -t estão no manual do PHP-FPM. Se o pacote já renovou corretamente os processos, não repita o reinício por rotina. Filas persistentes precisam de verificação própria.
Por fim, teste páginas, login, formulários, cron e filas; acompanhe os logs do PHP, Nginx e aplicação. Atualizar apenas PHP não exige automaticamente reiniciar o servidor inteiro.
A manutenção termina quando o pacote corrigido está em uso e os sites foram testados. Se uma série antiga não tiver correção comprovada do fornecedor, planeje a migração, sem confundir pacote instalado com serviço ativo.
Fontes consultadas em 21 de outubro de 2026.