Resolver problemas

Erro ao atualizar o WordPress, "cURL operation timed out"

Revisto a 4 min de leitura WordPress atualizações erros

Se, ao atualizar o WordPress a partir do painel, receber um erro semelhante a este:

Falha ao descarregar.: cURL error 28: Operation timed out after 

O erro cURL 28 confirma que o pedido não terminou dentro do tempo permitido. Não indica por si só se falhou a resolução DNS, a ligação, o descarregamento ou a resposta do destino.

1. Identifique o pedido

Anote a mensagem completa, a hora, o tempo indicado e o URL remoto, se aparecer. Repita uma única vez a mesma atualização para confirmar que o erro é atual. O Query Monitor pode mostrar o URL e a duração em HTTP API Calls quando o pedido é executado durante um carregamento do painel.

Não espere 24 horas como primeira medida: uma repetição breve distingue uma falha transitória, mas se voltar a falhar precisa de conservar os dados desse pedido.

2. Compare a partir do servidor

Peça ao fornecedor que teste o mesmo URL a partir do ambiente que executa o PHP e reveja o DNS, a conectividade de saída e os tempos de resposta. Um teste a partir do seu navegador utiliza outra rede e não representa a ligação do servidor.

  • Se vários URLs externos falharem a partir do servidor, reveja primeiro a conectividade, o DNS ou o proxy de saída.
  • Se apenas falhar um destino, conserve o seu URL e a resposta para que o fornecedor do destino o possa rever.
  • Se o teste do servidor funcionar mas o WordPress falhar, verifique se um plugin ou uma constante modifica a API HTTP e repita o mesmo pedido antes e depois de uma alteração controlada.

3. Reveja o ModSecurity apenas quando fizer sentido

O ModSecurity inspeciona os pedidos que chegam ao servidor. Um timeout ao descarregar de um servidor externo não demonstra um bloqueio do ModSecurity. Reveja a sua auditoria apenas se o URL afetado voltar a entrar no seu próprio site, como um pedido loopback, e existir um evento com a mesma hora e caminho.

Se aparecer um bloqueio, identifique a regra exata e peça uma exclusão limitada a essa regra e caminho. Não mantenha o ModSecurity desativado para atualizar o WordPress.

Verificação

Repita a atualização e confirme que o mesmo URL termina corretamente. Verifique que não aparece um novo cURL 28 e restaure qualquer plugin ou medida temporária utilizada durante o isolamento.

Se a atualização ficou a meio

Verifique se a falha ocorreu ao descarregar ou depois de começar a substituir ficheiros. Se houver uma atualização parcial, reveja o seu estado antes de lançar outra em paralelo. O facto de o descarregamento terminar não confirma que a nova versão tenha sido instalada e ativada corretamente.

Aumentar um timeout só faz sentido se o pedido avança e precisa de mais tempo; não corrige o DNS, uma ligação bloqueada ou um destino que não responde. Não desative a validação TLS: o erro 28 de tempo e o erro 60 de certificado são problemas distintos.

Também lhe pode ser útil

Algo não bate certo ou mudou? Diga-nos e revemos.