Em geral, considerando que a sua aplicação já tenha suporte ao PHP7 não há qualquer risco em mudanças, mas como já se dizia no tempo da “Internet a lenha”: – Se computador fosse coisa boa não precisaria de um analista”.
No caso do WordPress isso é bem verdade. A versão recomendada do PHP no momento em que este texto é publicado é o PHP 7.2 então se o seu serviço de hospedagem dá este recurso de atualização, por que não?
Há algumas semanas eu recebi um alerta da hospedagem do blog para que fizesse a atualização do já obsoleto PHP 5 para o PHP 7. Depois de muito relutar contra a mudança (já esperando que teria problemas) resolvi arriscar mesmo sem ter pesquisado quais seriam os impactos.
Já de cara o WordPress parou de funcionar e eu fiquei muito “pxxx da vida”. Backup? Sim, tem, mas e o orgulho onde fica?
A mensagem de erro era clara: “Não é possível acessar banco de dados”
Mas ai vem os testes:
- Banco de dados – OK
- Saída do phpinfo() – OK
- Nome dos servidores – OK (a hospedagem garantiu que a mudança não trocaria de servidor)
- MySQL Admin – OK
- WordPress – Apenas a tela em branco com a mensagem de erro
Após ativar a opção WP_DEBUG no arquivo config.php e dar um F5 na página do blog, bingo! (este é o segredo para caçar onde está o problema)
define('WP_DEBUG', true);
A simplória mensagem ficou mais detalhada e agora sim era possível procurar uma solução que foi até simples.
Warning: mysqli_real_connect(): The server requested authentication method unknown to the client [mysql_old_password] in /xxxxxxx/blog/wp-includes/wp-db.php on line 1531 Warning: mysqli_real_connect(): (HY000/2054): The server requested authentication method unknown to the client in /xxxxxxx/blog/wp-includes/wp-db.php on line 1531
Atente para o trecho em negrito. Em especial o “mysql_old_password”. Era ai que estava o problema. Desde a atualização do Mysql 4 para o 5, o método de autenticação foi mudado porém compatível com o PHP 5, mas não com o PHP 7.
Foi só entrar no gerenciador de usuário disponível na minha hospedagem, definir uma nova senha para forçar a atualização do modo de autenticação e obviamente alterá-la no arquivo config.php do WordPress.
Agora passou a ser possível abrir o WordPress porém com diversos reports de erro (culpa dos vários plugins ainda incompatíveis com esta nova versão do PHP).
Neste caso a solução é desativar todos os que estiverem gerando erro e depois substituí-los por outros que sejam compatíveis.
Fica então a grande recomendação. Ainda que a atualização seja imprescindível por razões de segurança se o seu site possui qualquer plugin crítico ao seu funcionamento que seja incompatível com o novo PHP é melhor adiar a migração até que haja uma nova versão. Só esteja ciente dos riscos de se manter um ambiente PHP vulnerável em seus servidores.