Respostas:
Em um site de desenvolvimento, sugiro descomentar as seguintes linhas no settings.php
arquivo. emacs sites/default/settings.php
if (file_exists(__DIR__ . '/settings.local.php')) {
include __DIR__ . '/settings.local.php';
}
e copie o arquivo example.settings.local.php
de /sites
pasta para /sites/default
pasta 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_exists
chamada a cada página diminui a velocidade do site, você sempre pode removê-la no código de produção.
Adicione a seguinte linha no arquivo settings.php.
$config['system.logging']['error_level'] = 'verbose';
Consulte Tornar truques / ferramentas de desenvolvedor para o D8 mais detectáveis / óbvios para obter mais detalhes.
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
.
Aqui está a variável com os diferentes valores:
$config['system.logging']['error_level'] = 'all'; // hide|some|all|verbose
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 .
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.
drush sqlc
seguido de SELECT * FROM watchdog ORDER BY wid DESC LIMIT 1
para mostrar a última entrada no dblog.
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
Para habilitar a depuração, siga o artigo: https://www.codeproject.com/Tips/5246457/Enable-Debugging-in-Twig-templates-Drupal-8
<?php $config[...;