Introdução

De tempos a tempos, o Joomla pode exibir uma página de erro em vez da página que esperava. Existem dois tipos de páginas de erro:

  • A página de erro do sistema tem um fundo vermelho. É invocada quando ocorre um erro grave antes de o tema do sítio ou da área administrativa ser processado.
  • A página de erro do tema tem o aspeto do tema normal do sítio ou da área administrativa, mas a área de conteúdo é substituída por uma mensagem de erro. Isto é invocado quando o erro ocorre no código de conteúdo.

Página de erro do sistema

System fatal error page

Página de erro do tema

Template error page

Como resolver

Existem várias razões possíveis para a ocorrência de erros fatais. Aqui ficam apenas algumas:

  • Uma alteração no seu alojamento, por exemplo uma versão atualizada do PHP que não é compatível com o Joomla ou com uma das suas extensões.
  • Um problema com espaço em disco, uso de memória ou tempo limite de execução do script.
  • Uma extensão recentemente instalada ou autorizada que não é compatível com o Joomla. Um plugin defeituoso pode desativar a autenticação na área administrativa!

Autorizar depuração

Se a sua interface da área administrativa ainda estiver a funcionar:

  • Vá a Painel inicial → Painel Sistema → Configuração global.
  • No separador Sistema, defina Depurar sistema como Sim
  • No separador Servidor, defina Relatório de erros como Máximo.
  • Depois Guardar e fechar.

Se a sua interface da área administrativa não estiver a funcionar, edite o ficheiro configuration.php na pasta raiz do seu sítio Joomla.

  1. Altere as permissões de 444 ou -r--r--r-- (ninguém tem permissão para escrever no ficheiro) para 644 ou -rw-r--r-- (apenas o Proprietário tem permissão para escrever).
  2. Edite o ficheiro com um editor de texto e defina $debug como true e $error_reporting como 'maximum'.
  3. Guarde o ficheiro.

Com as alterações feitas, recarregue a página que estava a causar o erro. Agora deverá ver um rasto de pilha (stack trace). Exemplo:

Template error page

O primeiro item no stack trace indica onde o erro foi desencadeado. Por vezes, isso é suficiente para identificar a extensão com problemas. Por vezes, a extensão com problemas está mais abaixo no stack trace. Pode não significar muito para si, mas o stack trace é inestimável para os especialistas que respondem a perguntas nos Fóruns Joomla.

Se conseguir identificar a extensão com problemas, desative-a. Pode fazê-lo através da interface administrativa, se esta estiver a funcionar. Caso contrário, utilize o phpMyAdmin para encontrar a extensão na tabela da base de dados #__extensions e defina o seu valor enabled para 0. Não deverá ser necessário desativar nenhuma extensão nuclear do Joomla.

Assistente de publicação no fórum

Para ajudar a resolver problemas, deve descarregar o Forum Post Assistant (FPA) e carregá-lo na raiz do seu website Joomla. A hiperligação para o encontrar também está perto do topo de cada página do Fórum Joomla. O FPA é um script PHP autónomo que analisa a sua instalação Joomla e indica o que pode estar errado. Mais uma vez, pode não significar muito para si, mas os especialistas que respondem a perguntas nos Fóruns podem pedir para o ver.

Limpeza

Quando o seu problema estiver resolvido:

  1. Vá a Painel inicial → Painel Sistema → Configuração global
  2. Selecione o separador Sistema e defina Depurar sistema para Não.
  3. Selecione o separador Servidor e defina Relatório de erros para Predefinição do sistema.
  4. Guardar e fechar.
  5. Remova o Forum Post Assistant.

As permissões de configuration.php são definidas como apenas leitura (444 ou r--r--r--) quando o formulário de Configuração global é guardado. Não é necessário fazê-lo manualmente.