Como habilito o modo desenvolvedor / depuração?


36

Instalando o drupal 8 core (usando o perfil padrão). sempre que recebo exceção / erro, recebo uma página em branco com "O site encontrou um erro. Tente novamente mais tarde". (como imagem abaixo) texto e nenhum detalhe / rastreamento sobre erro.

insira a descrição da imagem aqui

Respostas:


51

Em um site de desenvolvimento, sugiro descomentar as seguintes linhas no settings.phparquivo. emacs sites/default/settings.php

if (file_exists(__DIR__ . '/settings.local.php')) {
  include __DIR__ . '/settings.local.php';
}

e copie o arquivo example.settings.local.phpde /sitespasta para /sites/defaultpasta e renomeie-o parasettings.local.php

cp sites/example.settings.local.php sites/default/settings.local.php

Além de adicionar a seguinte configuração

$config['system.logging']['error_level'] = 'verbose';

ele também adiciona algumas outras configurações que ajudarão você a depurar e facilitar o desenvolvimento. Se você não deseja nenhum deles em particular, sempre pode comentar.

Nota: Se você acha que a adição de uma file_existschamada a cada página diminui a velocidade do site, você sempre pode removê-la no código de produção.


Se você não possui um arquivo de exemplo, também pode criar um arquivo que contenha<?php $config[...;
Danielle Madeley

1
Conforme mencionado abaixo, o módulo Devel pode facilitar as coisas para o Drupal 8. Verificou-se que $ config ['system.logging'] ['error_level'] = 'verbose'; configurações parece funcionar.
Darrell Ulm

Eu criei um recipiente janela de encaixe que vem com as definições necessárias para depuração e não-cache - esperança é útil: hub.docker.com/r/feikede/drupal-dev
Rainer Feike


8

Uma opção fácil, se você tiver acesso ao Drupal Console, é ativar o ambiente de desenvolvimento / depuração usando drupal site:mode dev; Quando estiver pronto para voltar à produção, use drupal site:mode prod.


1
Bom truque com o Drupal Console
ognockocaten 2/17/17

7

Aqui está a variável com os diferentes valores:

$config['system.logging']['error_level'] = 'all'; // hide|some|all|verbose

2
Obrigado por adicionar os valores possíveis.
plocks

Sim, obrigado por adicionar os possíveis valores, que foram surpreendentemente difíceis de encontrar.
arnoldbird

4

Para receber mensagens de erro básicas no Drupal 8, você não precisa tocar em nenhum código. Basta ir para:

/ admin / config / development / log

e defina "Mensagens de erro a serem exibidas" para um nível apropriado.

Você também pode visualizar seus erros recentes através da interface do administrador:

/ admin / reports / dblog

Dito isto, outras respostas sobre os arquivos de configurações são relevantes - você só deve tornar os erros visíveis no site de desenvolvimento, não na produção.

Os objetos / chaves $ config substituídos em settings.php não serão gravados no diretório sync durante a exportação, portanto, desde que o settings.php esteja em .gitignore, você poderá continuar usando o sistema de configuração com segurança para sincronizar entre clones do mesmo site .


0

Você também pode instalar os módulos kint Devel e Devel. Isso permitirá que você depure usando kint(xyz).


0

Se você tiver acesso apenas ao Drush (sem console do Drupal) e estiver trabalhando em um servidor remoto, poderá definir a configuração para mostrar todos os erros:

drush MYSITE.MYENV conjunto de configurações system.logging error_level all -y

Isso é útil se você estiver obtendo um WSOD em um servidor remoto e não puder solucionar problemas sem mais informações.


Para a situação descrita, eu também recomendo, drush sqlcseguido de SELECT * FROM watchdog ORDER BY wid DESC LIMIT 1para mostrar a última entrada no dblog.
Gogowitsch 9/08/19

0

Página em branco com "O site encontrou um erro. Tente novamente mais tarde." não o levará a lugar algum. Para obter mais informações do seu site Drupal 8, você pode ativar as seguintes configurações.

$config['system.logging']['error_level'] = 'verbose';

Para o desenvolvimento local do Drupal 8, você também deve habilitar o relatório de erros, exibir erros e exibir erros de inicialização para ajudá-lo a depurar e corrigir erros graves de tempo de execução.

error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

Você pode encontrar mais informações sobre a depuração do TWIG e ativar a depuração com o Drupal Console na postagem do blog abaixo.

https://www.drupixels.com/blog/enable-debug-mode-and-error-reporting-local-development-drupal-8


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.