Risposte:
Su un sito di sviluppo suggerirei di decommentare le seguenti righe nel settings.php
file. emacs sites/default/settings.php
if (file_exists(__DIR__ . '/settings.local.php')) {
include __DIR__ . '/settings.local.php';
}
e quindi copiare il file example.settings.local.php
da una /sites
cartella all'altra /sites/default
e rinominarlo insettings.local.php
cp sites/example.settings.local.php sites/default/settings.local.php
Oltre ad aggiungere la seguente impostazione
$config['system.logging']['error_level'] = 'verbose';
aggiunge anche alcune altre impostazioni che ti aiuteranno nel debug e faciliteranno lo sviluppo. Se non li desideri in particolare, puoi sempre commentarli.
Nota: se si ritiene che l'aggiunta di una file_exists
chiamata a ciascuna pagina rallenti il sito, è sempre possibile rimuoverlo nel codice di produzione.
Aggiungi la seguente riga nel file settings.php.
$config['system.logging']['error_level'] = 'verbose';
Vedi Rendi i trucchi / gli strumenti degli sviluppatori per D8 più rilevabili / ovvi per maggiori dettagli.
Un'opzione semplice, se si ha accesso alla console Drupal, è abilitare l'ambiente di sviluppo / debug utilizzando drupal site:mode dev
; quando si è pronti per tornare alla produzione, utilizzare drupal site:mode prod
.
Ecco la variabile con i diversi valori:
$config['system.logging']['error_level'] = 'all'; // hide|some|all|verbose
Per ricevere messaggi di errore di base in Drupal 8 non è necessario toccare alcun codice. Vai a:
/ Admin / config / sviluppo / logging
e impostare "Messaggi di errore da visualizzare" su un livello appropriato.
Puoi anche visualizzare i tuoi errori recenti tramite l'interfaccia di amministrazione:
/ Admin / reports / dblog
Detto questo, altre risposte sui file delle impostazioni sono rilevanti: dovresti sempre e solo rendere visibili gli errori sul tuo sito di sviluppo, non sulla produzione.
Gli oggetti / le chiavi $ config sovrascritti in settings.php non verranno scritti nella directory di sincronizzazione durante l'esportazione, quindi fornendo il file settings.php in .gitignore, è possibile continuare a utilizzare in modo sicuro il sistema di configurazione per la sincronizzazione tra cloni dello stesso sito .
Se hai accesso solo a Drush (nessuna console Drupal) e stai lavorando su un server remoto, puoi impostare la configurazione per mostrare tutti gli errori:
drush MYSITE.MYENV config-set system.logging error_level all -y
Ciò è utile se si riceve un WSOD su un server remoto e non è possibile risolvere i problemi senza ulteriori informazioni.
drush sqlc
seguire SELECT * FROM watchdog ORDER BY wid DESC LIMIT 1
l'ultima voce nel dblog.
Pagina vuota con "Si è verificato un errore nel sito Web. Riprovare più tardi." non ti porterà da nessuna parte. Per ottenere maggiori informazioni dal tuo sito Drupal 8 puoi abilitare le seguenti configurazioni.
$config['system.logging']['error_level'] = 'verbose';
Per lo sviluppo locale di Drupal 8, dovresti anche abilitare la segnalazione degli errori, visualizzare gli errori e visualizzare l'errore di avvio per aiutarti a eseguire il debug e correggere i principali errori di runtime.
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
Puoi trovare ulteriori informazioni sul debug TWIG e abilitare il debug con Drupal Console nel post di blog qui sotto.
https://www.drupixels.com/blog/enable-debug-mode-and-error-reporting-local-development-drupal-8
Per abilitare il debug segui l'articolo: https://www.codeproject.com/Tips/5246457/Enable-Debugging-in-Twig-templates-Drupal-8
<?php $config[...;