Réponses:
Sur un site de développement, je suggérerais de ne pas commenter les lignes suivantes du settings.php
fichier. emacs sites/default/settings.php
if (file_exists(__DIR__ . '/settings.local.php')) {
include __DIR__ . '/settings.local.php';
}
puis copiez le fichier example.settings.local.php
de /sites
dossier en /sites/default
dossier et renommez-le ensettings.local.php
cp sites/example.settings.local.php sites/default/settings.local.php
En plus d'ajouter le paramètre suivant
$config['system.logging']['error_level'] = 'verbose';
il ajoute également quelques autres paramètres qui vous aideront à déboguer et à faciliter le développement. Si vous n'en voulez pas en particulier, vous pouvez toujours les commenter.
Remarque: si vous pensez que l'ajout d'un file_exists
appel à chaque page ralentira le site, vous pouvez toujours le supprimer du code de production.
Ajoutez la ligne suivante dans le fichier settings.php.
$config['system.logging']['error_level'] = 'verbose';
Reportez- vous à la rubrique Rendre les astuces et les outils de développement pour D8 plus faciles à découvrir / plus évidentes pour plus de détails.
Une option simple, si vous avez accès à Drupal Console, consiste à activer l’environnement de développement / débogage à l’aide de drupal site:mode dev
; lorsque vous êtes prêt à revenir en production, utilisez-le drupal site:mode prod
.
Pour obtenir des messages d'erreur de base dans Drupal 8, vous n'avez besoin de toucher à aucun code. Il suffit d'aller à:
/ admin / config / development / logging
et réglez "Messages d'erreur à afficher" sur un niveau approprié.
Vous pouvez également afficher vos erreurs récentes via l'interface d'administration:
/ admin / reports / dblog
Cela étant dit, d’autres réponses concernant les fichiers de paramètres sont pertinentes: vous ne devez afficher que les erreurs visibles sur votre site de développement, pas la production.
Les objets / clés $ config écrasés dans settings.php ne seront pas écrits dans le répertoire de synchronisation lors de l'exportation. Par conséquent, si votre settings.php est au format .gitignore, vous pouvez continuer à utiliser le système de configuration en toute sécurité pour effectuer la synchronisation entre les clones du même site. .
Si vous avez uniquement accès à Drush (pas de console Drupal) et que vous travaillez sur un serveur distant, vous pouvez configurer la configuration pour afficher toutes les erreurs:
drush MYSITE.MYENV config-set system.logging error_level tout -y
Ceci est utile si vous obtenez un WSOD sur un serveur distant et que vous ne pouvez pas résoudre les problèmes sans informations supplémentaires.
drush sqlc
suivre SELECT * FROM watchdog ORDER BY wid DESC LIMIT 1
la dernière entrée du dblog.
Page blanche avec "Le site Web a rencontré une erreur. Veuillez réessayer plus tard." ne vous mènera nulle part. Pour obtenir plus d'informations sur votre site Drupal 8, vous pouvez activer les configurations suivantes.
$config['system.logging']['error_level'] = 'verbose';
Pour le développement local de Drupal 8, vous devez également activer le rapport d’erreurs, les erreurs d’affichage et les erreurs de démarrage pour vous aider à poursuivre le débogage et la correction des erreurs d’exécution majeures.
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
Vous trouverez plus d'informations sur le débogage TWIG et sur l'activation du débogage avec Drupal Console dans l'article de blog ci-dessous.
https://www.drupixels.com/blog/enable-debug-mode-and-error-reporting-local-development-drupal-8
Pour activer le débogage, suivez l'article: https://www.codeproject.com/Tips/5246457/Enable-Debugging-in-Twig-templates-Drupal-8
<?php $config[...;