Ten błąd pochodzi z nieprzechwyconego wyjątku PHP . Drupal wyłapuje wyjątki, więc użytkownik nie wyświetla brzydkiego komunikatu o błędzie PHP. Informacje o wyjątku można znaleźć w linku „Ostatnie wiadomości dziennika” w raportach (lub wypróbuj tę ścieżkę: / admin / raporty / dblog). Upewnij się, że moduł „Rejestrowanie bazy danych” jest włączony, ponieważ moduł ten udostępnia ten raport.
Zobaczysz wszystkie wewnętrzne wiadomości, które zostały wygenerowane. Filtruj według typu „PHP” i istotności „błąd”, a prawdopodobnie znajdziesz komunikat o nieprzechwyconym wyjątku. To powoduje twój problem. Teraz masz więcej informacji, więc możesz je naprawić.
/admin/reports/dblog
. Chyba że oczywiście nie możesz się zalogować, ponieważ ten głupi błąd zablokował całą witrynę Drupala!Drupal 6 i 7
Jeśli używasz Drush, po prostu zrób
drush vset error_level 1
.W przeciwnym razie przejdź do „
/admin/config/development/logging
” i zmień ustawienie na „Błędy i ostrzeżenia”Drupal 8
Zamiast
drush
vset
/vget
/vdel
możesz użyćcset
/cget
/cdel
dla wartości konfiguracji isset
/sget
/sdel
dla wartości stanu.źródło
ŁATWY SPOSÓB
Edytuj ustawienia.php i dodaj tam linię (szczególnie na swojej stronie deweloperów, możesz to po prostu zachować)
$conf['error_level'] = 1;
drush wymaga możliwości ładowania bazy danych.
źródło
ŁATWY SPOSÓB dla Drupala 8 ,
jeśli nie możesz się już zalogować, aby uzyskać dostęp do ostatnich komunikatów w dzienniku, jak opisano w zaakceptowanej odpowiedzi.
Otwórz plik
/sites/default/settings.php
za pomocą edytora lub klienta ftp i dodaj ten wiersz:Po ponownym załadowaniu strony zobaczysz pełny komunikat o błędzie zamiast ogólnego „Witryna napotkała nieoczekiwany błąd. Spróbuj ponownie później."
źródło
Ten błąd pochodzi
_drupal_log_error()
.Jako szybką poprawkę dla programistów możesz zaktualizować tę funkcję, aby wyświetlać bardziej szczegółowe komunikaty o błędach, ale upewnij się, że zmienisz ją z powrotem przed uruchomieniem witryny :)
źródło
Sprawdź blog. Jest to najlepsze miejsce do znalezienia błędów na stronie internetowej Drupal. Sprawdź także konsolę JS, aby wykryć dodatkowe błędy w przeglądarce.
źródło
Sprawdź w
watchdog
tabeli w MySQL. Możesz pobrać obiekt Blob (variables
kolumnę) i otworzyć go za pomocą Notatnika. Pokaże zserializowany obiekt z twoim błędem.źródło
Spróbuj tego:
poziom błędu
źródło
Aby błędy były widoczne w witrynie Drupal, znajdź plik index.php w głównym katalogu swojej witryny. Otwórz plik index.php i dodaj ten kod bezpośrednio przed pierwszą linią pliku:
Możesz także spróbować rozwiązać problemy Drupal z dziennikami błędów, jak opisano tutaj.
źródło
To jest stary wątek, ale ponieważ ostatnio napotkałem ten sam problem, udostępniając swoje dane. Nie byłem w stanie uzyskać dostępu do żadnej ze ścieżek Drupala, ponieważ zawsze otrzymywałem ten błąd bez względu na wszystko. To zaczęło się dziać po tym, jak zaktualizowałem widok, więc wiedziałem, co trzeba zrobić, ale nie byłem w stanie otworzyć widoku. W ten sposób przejrzałem dzienniki serwera Apache. Oprócz powyższego rozwiązania, takiego jak przeglądanie drushów i blogów, pomocne może być przejrzenie dzienników serwera Apache, szczególnie gdy nie można uzyskać dostępu do żadnej ze ścieżek aplikacji. Zazwyczaj są one obecne w pliku \ logs \ error.log i zawierają szczegółowe informacje na temat nieobsługiwanego wyjątku oraz miejsca jego wygenerowania itp. Jako szybką poprawkę możesz skomentować kod zgłaszający wyjątek i dokonać aktualizacji aplikacji. W moim przypadku skomentowałem post kod, który udało mi się dostać do widoku i dokonać niezbędnych aktualizacji. Mam nadzieję, że pomoże to komuś w podobnych sytuacjach
źródło
To bardzo interesujące, ale jeśli otworzysz źródło strony (CTRL-U), wtedy wszystkie ostrzeżenia i komunikaty o błędach będą dostępne, są one tylko w ukrytym elemencie. Szukać
element-invisible
.Edycja:
$conf['error_level'] = 1;
należy również umieścić wsettings.php
pliku.źródło