Відповіді:
На сайті розробки я б запропонував коментувати наступні рядки у settings.php
файлі. emacs sites/default/settings.php
if (file_exists(__DIR__ . '/settings.local.php')) {
include __DIR__ . '/settings.local.php';
}
а потім скопіюйте файл example.settings.local.php
із /sites
папки в /sites/default
папку та перейменуйте його вsettings.local.php
cp sites/example.settings.local.php sites/default/settings.local.php
Крім додавання наступних налаштувань
$config['system.logging']['error_level'] = 'verbose';
він також додає кілька інших налаштувань, які допоможуть вам у налагодженні та полегшують розвиток. Якщо ви не хочете жодної з них зокрема, ви завжди можете їх прокоментувати.
Примітка. Якщо ви думаєте, що додавання file_exists
дзвінка до кожної сторінки призведе до уповільнення веб-сайту, його завжди можна видалити у виробничому коді.
Додайте наступний рядок у файл settings.php.
$config['system.logging']['error_level'] = 'verbose';
Див. Розділ Зробити хитрощі / інструменти для розробників для D8 більш відкритими / очевидними для отримання більш детальної інформації.
Простий варіант, якщо у вас є доступ до консолі Drupal, - це включити середовище розробки / налагодження за допомогою drupal site:mode dev
; коли ви готові повернути його до виробництва, використовуйте drupal site:mode prod
.
Ось змінна з різними значеннями:
$config['system.logging']['error_level'] = 'all'; // hide|some|all|verbose
Щоб отримати основні повідомлення про помилки в Drupal 8, вам взагалі не потрібно торкатися жодного коду. Просто перейдіть до:
/ admin / config / development / logging
і встановіть "Повідомлення про помилки для відображення" на відповідний рівень.
Ви також можете переглянути останні помилки через інтерфейс адміністратора:
/ адміністратор / звіти / dblog
Втім, інші відповіді про файли налаштувань є актуальними - ви завжди повинні робити видимі помилки на своєму веб-сайті, а не на виробництві.
Перезаписані об’єкти / ключі $ config у settings.php не будуть записуватися в каталог синхронізації під час експорту, тому, якщо ваш налаштування.php знаходиться у .gitignore, ви можете продовжувати безпечно використовувати конфігураційну систему для синхронізації між клонами того ж сайту .
Якщо у вас є лише доступ до Drush (немає консолі Drupal) і ви працюєте на віддаленому сервері, ви можете встановити конфігурацію для відображення всіх помилок:
ударний MYSITE.MYENV конфігураційний набір system.logging error_level all -y
Це корисно, якщо ви отримуєте WSOD на віддаленому сервері і не можете усунути неполадки без додаткової інформації.
drush sqlc
після чого SELECT * FROM watchdog ORDER BY wid DESC LIMIT 1
слід показати останній запис у dblog.
Пуста сторінка з "На веб-сайті виникла помилка. Будь ласка, спробуйте пізніше." не забере тебе нікуди. Щоб отримати більше інформації з вашого сайту Drupal 8, ви можете ввімкнути наступні конфігурації.
$config['system.logging']['error_level'] = 'verbose';
Для локальної розробки Drupal 8 слід також включити звітність про помилки, помилки відображення та помилку запуску дисплея, щоб допомогти вам надалі налагоджувати та виправляти основні помилки виконання.
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
Ви можете знайти більше інформації про налагодження TWIG та ввімкнення налагодження за допомогою Drupal Console в блозі нижче.
https://www.drupixels.com/blog/enable-debug-mode-and-error-reporting-local-development-drupal-8
Щоб увімкнути налагодження, дотримуйтесь статті: https://www.codeproject.com/Tips/5246457/Enable-Debugging-in-Twig-templates-Drupal-8
<?php $config[...;