Essa dica vai para os amigos desenvolvedores. Para agilizar um pouco as tarefas quando estiverem tratando com erros no Magento.
É comum (a partir da versão 1.4.x) o sistema apresentar uma mensagem de segurança como esta:
Error log record number: 1234567890
Claro que não vou explicar tudo novamente, se você quer saber como identificar essa mensagem de erro, leia o post Error log record number – Identificando o problema.
Nesse post vou dar algumas dicas para exibir os erros na tela, e como configurar esta tela.
Prós e contras
Quando você joga a mensagem de erro na tela, seu sistema fica exposto, pois dessa forma está exibindo as falhas, que podem ser exploradas em ataques virtuais. Por isso, utilize essa dica somente em ambiente de testes.
Outra vantagem em ocultar a mensagem na tela e gerar um arquivo de log, é que quando um cliente encontra um erro, a falha é armazenada no diretório de erros e você fica sabendo da falha. Caso contrário, você nunca saberia que seu cliente encontrou um problema durante a navegação – saberia apenas se ele entrasse em contato.
A tela padrão de erro (error log record number) não ajuda na navegação e orientação do usuário, ficando este sem saber o que aconteceu e como proceder. Nesse caso é interessante personalizar esta página, incentivando o cliente a entrar em contato e informar o que causou o problema (tela/ação).
Ativando modo desenvolvedor
Vamos ver como fazer com que o sistema pare de gerar arquivos de log e passe a mostrar os erros no navegador. Para isso abra o arquivo index.php.
Nas versões mais antigas, bastaria retirar o sinal # da palavra:
#Mage::setIsDeveloperMode(true);
Nas versões mais recentes, foi adicionado uma condicional. Que significa que você pode configurar uma variável para ativar esse modo desenvolvedor, ou então apenas apague (comente) a condicional (if) e salve o arquivo.
if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) { Mage::setIsDeveloperMode(true); }
Para definir um valor à essa variável, abra o arquivo .htaccess do seu servidor e adicione o seguinte:
SetEnv MAGE_IS_DEVELOPER_MODE "127.0.0.1"
Lembrando que isso deve ser feito apenas em seu ambiente de testes. E pode ser informado qualquer valor à variável, neste exemplo usei “127.0.0.1“.
Monitorando erros por email
Muita gente não sabe, mas sempre que ocorre um erro no sistema, você pode ser alertado por email. Então muito cuidado ao usar essa opção, pois seu email pode ser inundado por mensagens de erros.
Na sua instalação do Magento, veja o arquivo:
erros > local.xml.sample
Até a versão 1.3.x seria a pasta reports/config.xml
Faça uma cópia deste arquivo e renomeie para local.xml, com as seguintes configurações:
default email Ocorreu um erro na loja seu_email@seu_dominio.com.br leave
Agora, sempre que ocorrer um erro, o sistema vai enviar automaticamente um email para o endereço informado no arquivo. E uma tela com formulário de contato será exibido ao usuário, para que ele possa fornecer mais informações sobre a falha.
Ao preencher e enviar o formulário, você recebe um segundo email sobre a falha. Que pode ajudar você a simular o problema em um ambiente de testes/desenvolvimento.
Espero que estas dicas ajudem a tornar o seu trabalho mais produtivo. Leia também o post Módulos Incompatíveis, onde eu cito as maiores causas de problemas no Magento.
Sucesso!