Na stronie programistycznej sugerowałbym odkomentowanie następujących wierszy w settings.php
pliku. emacs sites/default/settings.php
if (file_exists(__DIR__ . '/settings.local.php')) {
include __DIR__ . '/settings.local.php';
}
a następnie skopiowanie pliku example.settings.local.php
z /sites
folderu do /sites/default
folderu i zmiana jego nazwy nasettings.local.php
cp sites/example.settings.local.php sites/default/settings.local.php
Oprócz dodania następującego ustawienia
$config['system.logging']['error_level'] = 'verbose';
dodaje także kilka innych ustawień, które pomogą ci w debugowaniu i ułatwią programowanie. Jeśli nie chcesz żadnego z nich w szczególności, zawsze możesz je skomentować.
Uwaga: jeśli uważasz, że dodanie file_exists
wywołania do każdej strony spowolni witrynę, zawsze możesz ją usunąć w kodzie produkcyjnym.
<?php $config[...;
Dodaj następujący wiersz w pliku settings.php.
Zobacz Uczyń sztuczki / narzędzia programistyczne dla D8 bardziej wykrywalnymi / oczywistymi, aby uzyskać więcej szczegółów.
źródło
Łatwą opcją, jeśli masz dostęp do Drupal Console, jest włączenie środowiska programowania / debugowania za pomocą
drupal site:mode dev
; kiedy będziesz gotowy, aby przywrócić go do produkcji, użyjdrupal site:mode prod
.źródło
Oto zmienna o różnych wartościach:
źródło
Aby uzyskać podstawowe komunikaty o błędach w Drupal 8, nie musisz w ogóle dotykać żadnego kodu. Po prostu przejdź do:
i ustaw „Komunikaty o błędach na wyświetlanie” na odpowiednim poziomie.
Możesz również wyświetlić swoje ostatnie błędy za pomocą interfejsu administratora:
To powiedziawszy, inne odpowiedzi na temat plików ustawień są istotne - powinieneś zawsze pokazywać błędy w witrynie deweloperskiej, a nie produkcyjnej.
Nadpisane obiekty / klucze $ config w ustawieniach. Php nie zostaną zapisane w katalogu synchronizacji podczas eksportowania, więc podając swoje ustawienia. Php znajduje się w .gitignore, możesz nadal bezpiecznie używać systemu konfiguracji do synchronizacji między klonami tej samej strony .
źródło
Możesz także zainstalować moduły Devel i Devel. Umożliwi to debugowanie za pomocą
kint(xyz)
.źródło
Jeśli masz dostęp tylko do Drusha (bez konsoli Drupal) i pracujesz na zdalnym serwerze, możesz ustawić konfigurację tak, aby wyświetlała wszystkie błędy:
Jest to przydatne, jeśli otrzymujesz WSOD na zdalnym serwerze i nie możesz rozwiązać problemu bez dodatkowych informacji.
źródło
drush sqlc
następnie,SELECT * FROM watchdog ORDER BY wid DESC LIMIT 1
aby pokazać ostatni wpis na blogu.Pusta strona z komunikatem „Witryna napotkała błąd. Spróbuj ponownie później”. nigdzie cię nie zabiorę. Aby uzyskać więcej informacji z witryny Drupal 8, możesz włączyć następujące konfiguracje.
W przypadku lokalnego programowania Drupal 8 należy również włączyć raportowanie błędów, wyświetlanie błędów i wyświetlanie błędu uruchamiania, aby pomóc w dalszym debugowaniu i naprawianiu poważnego błędu środowiska wykonawczego.
Więcej informacji na temat debugowania TWIG i włączania debugowania za pomocą konsoli Drupal znajduje się w poście na blogu poniżej.
https://www.drupixels.com/blog/enable-debug-mode-and-error-reporting-local-development-drupal-8
źródło
Aby włączyć debugowanie, postępuj zgodnie z artykułem: https://www.codeproject.com/Tips/5246457/Enable-Debugging-in-Twig-templates-Drupal-8
źródło