O seu site mostra uma página vazia, ou a frase «Ocorreu um erro crítico neste site.». Nos dois casos, o PHP escreveu algures uma mensagem precisa, que nomeia o ficheiro em causa. Este guia mostra onde a ler, como a interpretar e que gesto corresponde a cada mensagem.
wp-config.php e recarregue a página com erro.PHP Fatal error de wp-content/debug.log: o caminho do ficheiro nomeia o plugin ou o tema em causa.debug.log.Uma página em branco é quase sempre um erro fatal do PHP: um ficheiro do site pediu algo impossível, e a execução parou antes de mostrar o que quer que fosse. Desde o WordPress 5.2, o WordPress interceta estes erros: em vez de uma página vazia, mostra «Ocorreu um erro crítico neste site.» e envia um email para o endereço de administração do site.
A página fica totalmente em branco em alguns casos: uma versão mais antiga do WordPress, um erro que ocorre antes de este mecanismo ser carregado, a constante WP_DISABLE_FATAL_ERROR_HANDLER definida como true, ou um plugin de cache que serve uma página vazia guardada durante a avaria. O método que se segue serve para todos estes casos.
Três gestos podem esperar até ter lido o erro: reinstalar o WordPress, eliminar plugins, restaurar uma cópia de segurança antiga. Cada um pode apagar definições ou dados recentes, enquanto a mensagem de erro diz em geral que componente desativar, sem perder nada.
Quando o WordPress interceta o erro, envia para o endereço de email de administração do site uma mensagem com o assunto «[Nome do site] Há um problema técnico com o seu site». Nomeia o plugin ou o tema em causa e contém uma ligação que abre a administração em modo de recuperação.
Ligue-se ao site por SFTP ou pelo gestor de ficheiros do seu fornecedor de alojamento, abra o wp-config.php na raiz e substitua a linha define( 'WP_DEBUG', false ); por estas quatro linhas:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
Colocam-se acima do comentário que fecha a zona editável do ficheiro (/* E é tudo, pare de editar! */ num WordPress instalado em português, pt_PT). Recarregue a página com erro e abra depois wp-content/debug.log. WP_DEBUG_DISPLAY a false guarda as mensagens no ficheiro, fora da página que os seus visitantes veem.
Se o debug.log ficar vazio ou não aparecer, o erro foi registado diretamente pelo PHP: procure um ficheiro error_log na raiz do site ou em wp-admin, ou a secção dos registos de erros no painel do seu fornecedor de alojamento.
Um erro fatal cabe numa linha: o tipo de erro, a descrição, e depois in seguido do caminho completo do ficheiro e do número da linha. O caminho é a informação mais útil: wp-content/plugins/nome/ designa um plugin, wp-content/themes/nome/ um tema.
| A mensagem contém | O que significa | O gesto |
|---|---|---|
Call to undefined function ou Class "…" not found, em wp-content/plugins/nome-do-plugin/ | O plugin chama código ausente: atualização incompleta, plugin de que depende desativado, ou versão do PHP que não suporta. | Desativar esse plugin e depois reinstalá-lo ou atualizá-lo. |
Allowed memory size of 268435456 bytes exhausted | O script ultrapassou a memória atribuída ao PHP, aqui 268 435 456 bytes, ou seja 256 MB. | Aumentar WP_MEMORY_LIMIT no wp-config.php, dentro do limite fixado pelo fornecedor de alojamento, e procurar depois o que consome tanto. |
PHP Parse error: syntax error, unexpected, em functions.php on line 42 | Um erro de sintaxe num ficheiro, muitas vezes depois de uma alteração feita à mão no editor de temas. | Corrigir a linha indicada, ou repor a versão anterior do ficheiro. |
Uncaught TypeError ou Uncaught ArgumentCountError, depois de uma mudança de versão do PHP | Um componente escrito para uma versão mais antiga do PHP, que a versão instalada se recusa a executar. | Atualizar o componente. Como solução provisória, voltar à versão anterior do PHP no painel do fornecedor de alojamento, enquanto o substitui. |
Maximum execution time of 30 seconds exceeded | Uma tarefa ultrapassou a duração autorizada pelo PHP (max_execution_time). | Identificar a tarefa (importação, cópia de segurança, geração de imagens) e aumentar o limite junto do fornecedor de alojamento, se essa tarefa for legítima. |
define( 'WP_MEMORY_LIMIT', '256M' );
Mude o nome da pasta do plugin indicado na mensagem, por exemplo wp-content/plugins/nome-do-plugin para nome-do-plugin.off. O WordPress deixa de encontrar o plugin e deixa de o carregar; as definições dele continuam guardadas na base de dados, e o WordPress desativa-o na próxima vez que o ecrã dos plugins for aberto.
Para um tema, mudar o nome da pasta em wp-content/themes devolve o acesso à administração, mas os visitantes veem uma página vazia enquanto nenhum tema estiver ativo. Abra logo Apresentação > Temas: o WordPress verifica que o tema ativo está danificado e volta a um tema por omissão instalado.
wp plugin list --status=active
wp plugin deactivate nome-do-plugin
wp theme list
wp theme activate twentytwentyfive
O primeiro comando guarda a lista dos plugins ativos, útil antes de qualquer desativação em bloco. Se o próprio WP-CLI parar com o erro, acrescente --skip-plugins --skip-themes ao comando: arranca então sem carregar os plugins nem o tema. Os plugins da pasta wp-content/mu-plugins carregam-se na mesma; se o erro vier de um deles, mude o nome do ficheiro.
Quando a mensagem não designa nenhum componente, wp plugin deactivate --all desativa todos os plugins. Se o site voltar, reative-os um a um, recarregando o site entre cada um: o último reativado antes de o erro voltar é o responsável.
define( 'WP_DEBUG', false ); e retire WP_DEBUG_LOG do wp-config.php.wp-content/debug.log: numa pasta acessível a partir da web, pode ser lido por qualquer pessoa e contém caminhos do servidor.Com a Serenity by Simafri, criamos o seu site profissional, alojamo-lo, protegemo-lo e mantemo-lo atualizado. Basta escrever-nos, nós tratamos de tudo. Nome de domínio e email profissional incluídos.
Porque ocorreu um erro fatal do PHP, quase sempre num plugin ou num tema. O WordPress interceta-o, mostra esta mensagem e envia um email para o endereço de administração do site, com uma ligação para o modo de recuperação. O registo de depuração dá o detalhe do erro e o ficheiro em causa.
Verifique a pasta de spam e o Endereço de email de administração indicado em Opções > Geral. Sem o email, ative o registo de depuração no wp-config.php, leia o erro em wp-content/debug.log e desative o componente em causa mudando o nome da pasta por SFTP.
As definições dos plugins estão guardadas na base de dados, e não na pasta do plugin: ficam intactas. Um plugin com o nome da pasta alterado aparece desativado; reponha o nome original e reative-o a partir do ecrã dos plugins para o reencontrar com as suas definições.
O componente com erro só se carrega na administração, ou a memória necessária é aí mais elevada. O WordPress aplica WP_MAX_MEMORY_LIMIT aos ecrãs de administração e WP_MEMORY_LIMIT ao site público. O registo de depuração dá a mesma informação nos dois casos: carregue a página de administração com erro e leia depois o debug.log.
Simafri
Vamos falar do seu projeto
Diga-nos em poucas palavras o que precisa: respondemos-lhe rapidamente.
Obrigado! O seu pedido foi enviado. Responderemos em breve.
Prefere o email? Escreva-nos para support@simafri.com.