
🔧 Como corrigir o erro "Another update in progress" no WordPress
Dirige-se ao painel de administração para atualizar o WordPress para a versão mais recente e lá está ela: uma parede intransponível. «Está em curso outra atualização.» Os botões de atualização estão bloqueados, não há nenhum temporizador a contar e não sabe se deve esperar ou resolver o problema por si mesmo.
Este problema é comum. O mecanismo integrado do WordPress define um bloqueio core_updater.lock durante as atualizações automáticas do núcleo para evitar que duas atualizações se sobreponham. O bloqueio deveria ser removido automaticamente após 15 minutos. Mas isso nem sempre acontece: a base de dados «lembra-se» do bloqueio e mantém-no durante horas ou até dias.
Abaixo encontrará três formas de remover o bloqueio: da mais simples (um clique) à mais rápida (um comando no terminal). Escolha a que melhor se adequa ao seu nível de acesso ao site.
💡 Resumo rápido:
- Instale o plugin gratuito Fix Another Update In Progress e pressione um botão; isto funciona se tiver acesso de administrador.
- Encontre e elimine a linha
core_updater.lockna tabelawp_optionsatravés do phpMyAdmin; este método é para quem não consegue aceder ao painel de administração. - Execute
wp option delete core_updater.lockvia WP-CLI; uma opção instantânea para programadores e para quem se sente confortável com o terminal.
Por que razão aparece o erro «Está em curso outra atualização»
O WordPress protege-se contra atualizações paralelas do núcleo. Quando uma atualização automática começa, o sistema cria um registo temporário com a chave core_updater.lock na tabela wp_options. Enquanto esta chave existir, é impossível iniciar outra atualização e vê a mensagem «Está em curso outra atualização.»

Por definição, o bloqueio é removido automaticamente após 15 minutos. Na prática, isto frequentemente não acontece. As causas comuns incluem a falha do processo de atualização em segundo plano devido a memória insuficiente no alojamento, um conflito com um plugin de cache ou o fecho prematuro do separador do navegador durante a atualização.
O resultado: o bloqueio persiste, o painel de atualizações fica bloqueado. Pode forçar a sua reposição de três maneiras.
Método 1: Plugin Fix Another Update In Progress
A via mais segura é evitar mexer manualmente na base de dados e deixar que um plugin de confiança faça todo o trabalho por si.
Instale o Fix Another Update In Progress a partir do diretório do WordPress.org. O plugin é gratuito e faz exatamente uma coisa: procura a chave core_updater.lock em wp_options e elimina-a com um clique num botão.
Após a ativação, vá a Configurações → Fix Another Update In Progress. Se o bloqueio estiver ativo, verá um aviso e um botão:

Clique em «Fix WordPress Update Lock». O plugin remove instantaneamente o registo da base de dados e verá uma confirmação:

Agora regresse a Painel → Atualizações; a página está ativa novamente e o WordPress está pronto para a atualização. Pode manter o plugin (não sobrecarrega o site) ou removê-lo até à próxima vez.
Algumas notas. O plugin não é atualizado desde 2023 e não é oficialmente testado com versões do WordPress superiores à 6.2. Na prática, no entanto, funciona corretamente até ao WordPress 6.7 porque a estrutura da tabela wp_options não mudou e a entrada core_updater.lock continua a ser um simples registo que pode ser removido com uma chamada padrão delete_option. Se preferir não instalar um plugin «com historial», avance para os métodos 2 e 3.
Método 2: Remover manualmente o bloqueio via phpMyAdmin
Quando o painel de administração está indisponível (ecrã branco, erro crítico) ou simplesmente não quer instalar um plugin extra, pode repor o bloqueio diretamente na base de dados. Precisará de acesso ao phpMyAdmin, que está disponível em qualquer painel de controlo de alojamento (cPanel, ISPmanager, Plesk).
Inicie sessão no painel do seu alojamento, encontre a secção «Bases de Dados» e abra o phpMyAdmin:

Na coluna da esquerda, selecione a base de dados do seu site WordPress. Encontre a tabela wp_options (o prefixo pode ser diferente se o alterou durante a instalação) e clique no botão «Percorrer»:

Aparecerá uma lista de linhas. Encontre a linha com o nome da opção core_updater.lock e clique no botão vermelho «Eliminar» ao lado:

O phpMyAdmin eliminará a linha. Agora regresse ao painel de administração do WordPress; a página de atualizações está desbloqueada.
Se a tabela contiver demasiadas linhas para encontrar visualmente core_updater.lock, use a funcionalidade de pesquisa: clique no separador «Pesquisar» no phpMyAdmin, introduza core_updater.lock no campo option_name, clique em «OK» e a linha em questão aparecerá.
⚠️ Antes de eliminar qualquer coisa no phpMyAdmin, certifique-se de que a atualização em segundo plano realmente terminou ou parou. Se o processo ainda estiver em execução, a remoção forçada do bloqueio pode resultar na substituição incompleta dos ficheiros do núcleo. Dê ao site 5 a 10 minutos após o aparecimento do erro e depois prossiga.
Método 3: Reposição instantânea via WP-CLI
Para quem trabalha com o site via terminal, o método mais rápido é um único comando WP-CLI. Abra uma consola SSH para o servidor, navegue até à pasta raiz do WordPress e execute:
1 wp option delete core_updater.lock
Se o bloqueio estivesse ativo, verá a mensagem Success: Deleted 'core_updater.lock' option.. Pronto; pode agora iniciar a atualização do núcleo:
1 wp core update
A propósito, o comando wp core update irá avisá-lo sobre um bloqueio obsoleto e sugerir que elimine primeiro o core_updater.lock. Este é um comportamento do WP-CLI oficialmente documentado, não uma solução alternativa.
Este método também é conveniente porque pode ser automatizado: adicione a limpeza do bloqueio ao seu script de implementação ou a um Cron job para manutenção regular. Mas se nunca trabalhou com WP-CLI antes, os métodos 1 e 2 são suficientes; resolvem totalmente o problema.
Vídeo: três métodos em 3 minutos
Um pequeno vídeo demonstra os três métodos num site real, desde a descoberta do erro até ao clique no botão «Atualizar»:
⁉️🤔 Perguntas frequentes
Por que razão o erro não desaparece após 15 minutos, como prometido?
A reposição automática do bloqueio foi concebida para a conclusão normal do processo em segundo plano. Se a atualização foi interrompida (o PHP ficou sem memória, o processo de alojamento falhou, fechou o separador), o WordPress nunca recebe o sinal de «concluído» e deixa o
core_updater.lockna base de dados. O temporizador de 15 minutos depende de oWP_Upgraderchamar owp_schedule_single_event, mas se o Cron no seu alojamento for executado através de um agendador do sistema, o evento pode nunca ser executado e o bloqueio persiste durante dias. A remoção manual é a única solução garantida.
Preciso de remover o plugin Fix Another Update In Progress depois de corrigir o erro?
Não necessariamente. O plugin pesa kilobytes, não adiciona carga no frontend e não regista hooks extra. Pode deixá-lo instalado; da próxima vez que um bloqueio ficar pendurado, a correção será feita com um clique. Mas se o seu site tiver uma política de «nada de plugins desnecessários», pode eliminá-lo à vontade: repor o bloqueio via phpMyAdmin ou WP-CLI demora 30 segundos.
Posso evitar que este erro ocorra no futuro?
Não pode eliminá-lo totalmente; é um mecanismo padrão do WordPress. Mas três coisas reduzem a probabilidade. Não inicie uma atualização manual se vir uma notificação sobre uma atualização automática em segundo plano. Configure o Cron através do agendador do sistema do servidor em vez do
wp-cron.php; isto remove a dependência dos visitantes. Aumente o limite de memória do PHP (memory_limit) para pelo menos 256M: a memória insuficiente é a causa mais comum de interrupções nas atualizações em segundo plano.
Qual é o perigo de remover forçadamente o bloqueio durante uma atualização ativa?
Se eliminar o
core_updater.lockenquanto o WordPress está a substituir os ficheiros do núcleo, acaba com uma instalação parcialmente atualizada, metade dos ficheiros da nova versão e metade da antiga. No melhor dos casos, recebe um erro ao iniciar sessão no painel de administração; no pior dos casos, um ecrã branco. Antes de usar qualquer um destes métodos, aguarde 5 a 10 minutos após o aparecimento do erro. Pode verificar se há um processo em segundo plano através do gestor de processos do alojamento ou executandotop/htoppor SSH.
Deve ter medo deste erro
«Está em curso outra atualização» parece alarmante, mas tecnicamente é apenas uma linha na base de dados. O WordPress não está avariado, os seus dados estão intactos, o site está a funcionar; o núcleo simplesmente montou uma barreira temporária.
Para situações rápidas, use o plugin Fix Another Update In Progress: um botão, cinco segundos, resolvido. Sem acesso de administrador? O phpMyAdmin resolve num minuto. A trabalhar via consola? wp option delete core_updater.lock e siga em frente. Qualquer um dos três métodos restaura o controlo total sobre as atualizações do seu site.



