Mudar a versão do PHP sem partir o site

·

Mudar de versão é um clique, e está explicado passo a passo no artigo «Como mudar a versão do PHP». Este artigo é sobre a outra metade, que é a que dá trabalho: saber qual a versão de que o site precisa, o que se parte quando se sobe, como testar antes e como voltar atrás.

Descobrir de que versão o site precisa

1 Comece pela aplicação. O WordPress, o PrestaShop, o Laravel e as restantes publicam a lista de versões suportadas nas páginas de requisitos. É o mínimo, não a resposta.
2 Depois os plugins e o tema. Aqui é que se decide. O site não corre na versão que a aplicação suporta: corre na versão que todos os componentes suportam. Um único plugin abandonado há anos manda em todo o site.
3 Código feito à medida não publica requisitos nenhuns. Se o site foi escrito para si, pergunte a quem o escreveu. Se já não consegue falar com essa pessoa, trate o site como se tivesse a versão mínima e teste com cuidado redobrado.
4 Veja em que versão está agora. O painel do cPanel diz-lho, e o próprio WordPress mostra a versão do PHP no ecrã de saúde do site. Sem esse ponto de partida não sabe se está a subir um degrau ou cinco.
Subir cinco degraus de uma vez é a receita para uma tarde perdida. Se o site está muito atrasado, suba uma versão de cada vez e teste entre elas. Demora mais, mas quando alguma coisa partir sabe exactamente entre que duas versões foi, e isso poupa horas de adivinhação.

O que se parte, e porquê

Cada versão nova do PHP tira coisas que a anterior tinha. Não é capricho: são funções antigas que estavam marcadas para sair há anos. O problema é que muito código continua a usá-las.

O que acontece Como se reconhece
Função removida Página em branco ou erro crítico logo à primeira, com uma mensagem do género call to undefined function no registo de erros. É o caso mais fácil de todos: barulhento e imediato.
Aviso que passou a erro Código que antes só resmungava e continuava agora pára. Típico de temas antigos. Também dá erro visível.
Extensão em falta O site abre mas uma funcionalidade concreta deixa de responder: as imagens não são redimensionadas, o pagamento não comunica, os acentos aparecem mal. Cada versão tem as extensões ligadas em separado, e ao mudar de versão herda as da versão nova, não as da antiga.
Mudança silenciosa A pior de longe. O site abre, tudo parece bem, e uma comparação, um arredondamento ou uma ordenação passa a dar outro resultado. Ninguém repara até alguém notar que um total está errado.

É por causa da última linha dessa tabela que «abri a página inicial e está tudo bem» não é um teste. A página inicial é normalmente a parte do site que menos código corre.

Testar antes, a sério

1 Faça uma cópia do site num subdomínio. É o passo que toda a gente salta e o único que torna isto seguro. Um subdomínio de testes não custa nada e ninguém o vê.
2 Mude a versão só nessa cópia. A versão do PHP escolhe-se por domínio, por isso dá para ter o site a sério numa versão e a cópia de testes noutra, ao mesmo tempo, no mesmo plano.
3 Percorra o que dá dinheiro. Não as páginas bonitas: o formulário de contacto até receber o e-mail, a entrada na conta de cliente, a pesquisa, o carrinho até ao último passo do pagamento, a área de administração, e o envio de um e-mail automático.
4 Leia o registo de erros depois do teste, e não só o ecrã. Muita coisa falha sem aparecer ao visitante. Os Erros estão na secção Métricas do cPanel.
5 Só então mude o site verdadeiro. E numa hora calma: a mudança é imediata, mas quer estar à frente do computador se algo correr mal.
Se não puder duplicar o site, faça pelo menos duas coisas: uma cópia de segurança nesse mesmo dia, e a mudança na hora de menos movimento. Não é equivalente, mas transforma um problema possível num problema curto.

Voltar atrás

Esta é a parte tranquilizadora, e é a razão por que vale sempre a pena experimentar: a mudança de versão é reversível e é imediata.

1 No mesmo ecrã onde subiu, escolha a versão anterior. O site volta ao que era em segundos.
2 Não precisa de entrar no site para isto. Mesmo que o site tenha ficado com erro crítico e nem a administração abra, a versão do PHP muda-se no cPanel, que é um painel separado. Não fica fechado do lado de fora.
3 Limpe a cache a seguir, do site e do navegador. Uma página de erro guardada na cache continua a aparecer depois de o problema estar resolvido, e já vimos muita gente concluir que a reversão falhou quando não falhou.
4 Só depois vá ao registo de erros perceber quem era o culpado. Com o site no ar, tem tempo; com o site em baixo, não tem.
Voltar atrás é um recuo táctico, não uma solução. Uma versão de PHP fora de suporte deixa de receber correcções de segurança, e o código continua lá com os buracos conhecidos por toda a gente. Se ficou preso a uma versão antiga por causa de um plugin, o problema passou a ser o plugin: substitua-o, actualize-o ou pague a quem o consiga adaptar. Não deixe ficar assim indefinidamente.
Um efeito lateral simpático: versões mais recentes do PHP executam o mesmo código mais depressa. Muitas vezes a queixa de «site lento» resolve-se aqui, sem tocar em mais nada. Sobre o resto do que pesa num site, veja o artigo «O site está lento: o que faz mesmo diferença».

Não sabe de que versão o seu site precisa, ou subiu e partiu alguma coisa? Mande-nos a mensagem de erro.

Abrir um pedido de suporte

VEJA TAMBÉM

Planos de hospedagem e o que cada um inclui

Hospedagem para WordPress

Política de Suporte: o que é nosso e o que é da aplicação

PRODUTO RECOMENDADO

Alojamento de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 600,00 MT/mês

Ver planos
  • 0 Utilizadores acharam útil
Esta resposta foi útil?