1. TugaTech » Software » Noticias de Software
  Login     Registar    |                      
Siga-nos

logo do WordPress

 

Más notícias para quem gere uma loja online com WordPress e WooCommerce. Um bug recente está a causar um erro fatal em diversas instalações, resultando no encerramento inesperado de sites de comércio eletrónico. Felizmente, a origem do problema parece já ter sido identificada – uma única linha de código – e já circula uma solução temporária, enquanto a equipa do WooCommerce trabalha numa correção oficial.

 

O epicentro do problema: uma linha de código

 

O alerta surgiu inicialmente nos fóruns de suporte do WordPress.org, onde vários utilizadores começaram a relatar que os seus sites WooCommerce tinham colapsado de repente, exibindo um erro fatal. A maioria dos afectados indicou não ter efetuado quaisquer alterações recentes às suas plataformas.

 

A mensagem de erro específica que está a ser partilhada é a seguinte: “Uncaught Error: strpos(): Argument #1 ($haystack) must be of type string, null given in /var/www/site/data/www/site.com/wp-content/plugins/woocommerce/src/Blocks/BlockPatterns.php on line 251”

Como a mensagem indica, o problema reside no ficheiro BlockPatterns.php, localizado no diretório wp-content/plugins/woocommerce/src/Blocks/.

 

A comunidade reage e partilha soluções

 

O utilizador que primeiro reportou o bug nos fóruns acabou também por apresentar uma solução provisória, que passa pela edição de uma única linha no referido ficheiro BlockPatterns.php.

 

Outros utilizadores confirmaram estar a experienciar precisamente o mesmo problema. Um deles partilhou: "Mesmo problema aqui. Ocorreu na versão 9.8.2, e atualizar para a 9.8.3 não resolveu. Fazer downgrade para a 9.7.1 também não ajudou. O problema aconteceu sem qualquer interação com plugins ou atualizações recentes. Substituir o código na linha 251 funcionou como uma solução temporária. Precisaremos de encontrar uma solução mais estável até que a equipa do WooCommerce lance um patch oficial."

 

Alguns relatos indicam que o erro surgiu após a atualização de plugins, mas que a reversão dessa atualização não solucionou a falha. Outros, no entanto, afirmam não ter realizado qualquer ação antes do site deixar de funcionar.

 

WooCommerce reconhece a falha e prepara correção

 

Um representante da equipa de suporte do WooCommerce já se pronunciou sobre o assunto, confirmando que a equipa está ciente do problema e a trabalhar ativamente para o resolver. "Obrigado por reportar isto. É um problema conhecido, e uma solução temporária foi partilhada aqui: https://github.com/woocommerce/woocommerce/issues/57760#issuecomment-2854510504", afirmou o elemento do suporte. "Podem acompanhar o progresso e atualizações no tópico do GitHub: https://github.com/woocommerce/woocommerce/issues/57760, pois a equipa está ciente e a tratar ativamente do assunto."

 

A solução temporária detalhada

 

Para os administradores de sites que se encontram offline devido a este bug, a correção rápida partilhada na discussão oficial do GitHub passa por uma pequena alteração na linha 251 do ficheiro BlockPatterns.php:

 

A linha original deverá ser: if ( strpos( $category['title'], $prefix ) !== false ) {

A alteração consiste em adicionar ?? '' à variável $category['title'], resultando no seguinte: if ( strpos( $category['title'] ?? '', $prefix ) !== false ) {

 

É crucial que, após aplicar esta modificação, se proceda à limpeza de todas as camadas de cache do WordPress para que a alteração tenha efeito.

 

No mesmo repositório GitHub do WooCommerce, existe também uma nota que elucida a possível causa: "Alguns sites podem estar a ver um erro fatal relacionado com a classe BlockPatterns.php, com o site a não carregar. Isto deveu-se a uma má resposta do repositório de padrões Woo. Uma correção foi implementada no repositório, mas certos sites podem ainda ter um valor de cache incorreto." A equipa acrescenta ainda que "o problema foi corrigido do lado da origem da cache, mas certos sites ficaram com um valor de cache incorreto. Lançaremos atualizações de patch para corrigir isso."

 

Um obstáculo adicional para utilizadores WPEngine

 

Utilizadores da plataforma de alojamento WPEngine reportaram dificuldades adicionais mesmo após implementarem a correção sugerida. Um deles comentou: "Estou a debater-me para implementar a correção no WPEngine. Assumo que seja um problema de cache, mas carregar a correção e limpar todas as caches não está a funcionar. Haverá algum passo adicional que me esteja a escapar? Até agora, apenas restaurar uma cópia de segurança resolveu."

 

A explicação para esta dificuldade reside na arquitetura do WPEngine, que, sendo uma plataforma gerida, possui múltiplas camadas de cache (incluindo Page Cache e Varnish). Todas estas camadas necessitam de ser devidamente limpas para que a correção ao código seja eficaz.

 

Enquanto uma solução definitiva sob a forma de um patch oficial não é disponibilizada pela equipa do WooCommerce, a alteração manual do código e a subsequente limpeza da cache são, para já, os passos recomendados para restaurar a funcionalidade das lojas online afetadas.




Aplicações do TugaTechAplicações TugaTechDiscord do TugaTechDiscord do TugaTechRSS TugaTechRSS do TugaTechSpeedtest TugaTechSpeedtest TugatechHost TugaTechHost TugaTech