„Auf der Website ist ein unerwarteter Fehler aufgetreten. Bitte versuchen Sie es später noch einmal. "

27

Ich habe diesen Fehler mit Drupal 7

  1. Wie kann ich weitere Informationen zu diesem Fehler erhalten? Irgendein Bericht, irgendwo ein Protokoll? Nichts in PHP-Fehlern.

  2. Wie kann ich diese Nachricht deaktivieren und eine nützlichere zum Debuggen haben?

Hinweis : Meine Frage lautet NICHT "Wie kann ich dieses Problem beheben?"

theredled
quelle

Antworten:

27

Dieser Fehler rührt von einer nicht abgefangenen PHP-Ausnahme her . Drupal erkennt Ausnahmen, sodass dem Benutzer keine hässliche PHP-Fehlermeldung angezeigt wird. Sie finden die Ausnahmeinformationen im Link "Neueste Protokollnachrichten" unter "Berichte" (oder versuchen Sie diesen Pfad: / admin / reports / dblog). Stellen Sie sicher, dass das Modul "Datenbankprotokollierung" aktiviert ist, da dieses Modul diesen Bericht bereitstellt.

Sie sehen alle internen Nachrichten, die generiert wurden. Wenn Sie nach Typ 'PHP' und Schweregrad 'Fehler' filtern, wird möglicherweise eine Meldung zu einer nicht erfassten Ausnahme angezeigt. Dies verursacht Ihr Problem. Jetzt verfügen Sie über weitere Informationen, damit Sie diese möglicherweise beheben können.

sanzante
quelle
Okay, danke. Gibt es keine Möglichkeit, dieses Verhalten sofort in ein Debug-konformes zu ändern? (wie ... Anzeigen der Ausnahme auf dem Bildschirm)
Theredled
Nein, AFAIK, es gibt keinen einfachen Weg, das zu tun. Sie können versuchen, Ihren eigenen Exception-Handler (mit der Standard-PHP-Funktion set_exception_handler) einzurichten, ohne auf Nebenwirkungen zu achten.
sanzante
7
Tolle Idee zu überprüfen /admin/reports/dblog. Es sei denn, Sie können sich nicht einmal anmelden, da dieser blöde Fehler Ihre gesamte Drupal-Site in Mitleidenschaft gezogen hat!
g33kz0r
Ich selbst habe diesen Fehler mit der Ansichtsreferenz "FieldException: Versuch, ein unbekanntes Feld zu erstellen ..." gesehen. Die Lösung für die Aktivierung von drush en viewreference hat funktioniert müssen das Modul aktivieren (da sich die Aktivierung in der Datenbank befindet, die ich in der Pull-Anfrage nicht erhalte, verwenden wir Features). Hoffe das hilft anderen Leuten.
Therobyouknow
4
@ g33kz0r: Sie können die Drush-Watchdog-Show verwenden, um die Fehlermeldungen anzuzeigen. Wenn Ihre Site vollständig beschädigt ist, überprüfen Sie die Watchdog-Tabelle in der Datenbank, in der diese Meldungen gespeichert sind.
Sanzante
15

Drupal 6 & 7

Wenn Sie Drush verwenden, tun Sie es einfach drush vset error_level 1.

Andernfalls /admin/config/development/loggingwechseln Sie zu " " und ändern Sie die Einstellung in "Fehler und Warnungen".

Drupal 8

Statt drush vset/ vget/ vdelkönnen Sie mit cset/ cget/ cdelfür Konfigurationswerte und sset/ sget/ sdelfür Zustandswerte.

coak
quelle
12

EINFACHER WEG

Bearbeite deine settings.php und füge dort eine Zeile hinzu

$conf['error_level'] = 1;

drush setzt voraus, dass Sie in der Lage sind, die Datenbank zu booten.

Frank Carey
quelle
Die beste Antwort. Das hat mir Zeit gespart.
Austin
6

EASY WAY für Drupal 8 ,

Wenn Sie sich nicht mehr anmelden können, um auf die letzten Protokollnachrichten zuzugreifen, wie in der akzeptierten Antwort beschrieben.

Öffnen Sie die Datei /sites/default/settings.phpmit einem Editor oder einem FTP-Client und fügen Sie diese Zeile hinzu:

$config['system.logging']['error_level'] = 'verbose';

Nach dem erneuten Laden der Seite wird anstelle der allgemeinen Meldung "Bei der Website ist ein unerwarteter Fehler aufgetreten" eine vollständige Fehlermeldung angezeigt. Bitte versuchen Sie es später noch einmal. "

4k4
quelle
2

Dieser Fehler kommt von _drupal_log_error().

Als schnelle Lösung für die Entwicklung können Sie diese Funktion aktualisieren, um ausführlichere Fehlermeldungen zu erhalten. Stellen Sie jedoch unbedingt sicher, dass Sie sie wieder ändern, bevor die Site live geschaltet wird :)

Clive
quelle
0

Überprüfen Sie den Blog. Es ist der beste Ort, um Fehler in einer Drupal-Website zu finden. Überprüfen Sie auch die JS-Konsole, um zusätzliche Fehler in Ihrem Browser herauszufinden.

Binny
quelle
Danke für dblog (/ admin / reports / dblog). Wie kann ich diese Nachricht deaktivieren und eine nützlichere für Debug-Zwecke haben?
Geplant
1
Wie auch immer, ich glaube nicht, dass ein JS-Fehler diesen
Serverfehler
0

Überprüfen Sie in der watchdogTabelle in MySQL. Sie können den Blob (die variablesSpalte) herunterladen und mit Notepad öffnen. Es zeigt Ihnen ein serialisiertes Objekt mit Ihrem Fehler.

Maxime Fafard
quelle
0

Versuche dies:

Fehlerlevel

admin menu equivalent: admin/config/development/logging
drush command: drush vset -y error_level <value>
values:
    0: none
    1: errors and warnings
    2: all 
Ravyg
quelle
0

Um Fehler auf Ihrer Drupal-Website sichtbar zu machen, finden Sie die Datei index.php im Hauptverzeichnis Ihrer Website. Öffne index.php und füge diesen Code direkt vor der ersten Zeile der Datei ein:

error_reporting(E_ALL); 
ini_set('display_errors', TRUE); 
ini_set('display_startup_errors', TRUE); 

Sie können auch versuchen, Drupal-Probleme mit Fehlerprotokollen wie hier beschrieben zu lösen .

Chetabahana
quelle
0

Dies ist ein alter Thread, aber als ich vor kurzem auf dasselbe Problem stieß, wurden meine Eingaben bereitgestellt. Ich konnte auf keinen der Drupal-Pfade zugreifen, da dieser Fehler immer auftrat, egal was passierte. Dies geschah, nachdem ich eine Ansicht aktualisiert hatte, sodass ich wusste, was zu tun war, aber ich konnte die Ansicht nicht öffnen. Also habe ich in Apache Server Logs geschaut. Abgesehen von der oben genannten Lösung, z. B. das Betrachten von "drush" und "dblogs", kann es hilfreich sein, in Apache-Serverprotokollen zu suchen, insbesondere wenn Sie auf keinen der Anwendungspfade zugreifen können. Diese befinden sich normalerweise in der Datei \ logs \ error.log und enthalten die Details zur nicht behandelten Ausnahme sowie den Ort, an dem sie generiert wird usw. Als schnelle Lösung können Sie den Code kommentieren, der eine Ausnahme auslöst, und Aktualisierungen an der Anwendung vornehmen. In meinem Fall habe ich den Code-Post kommentiert, mit dem ich zur Ansicht gelangen und die erforderlichen Aktualisierungen vornehmen konnte. Hoffe, es wird jemand in einigen ähnlichen Situationen helfen

MAJ
quelle
0

Das ist sehr interessant, aber wenn Sie die Seitenquelle (STRG-U) öffnen, befinden sich alle Warnungen und Fehlermeldungen in einem versteckten Element. Suche nach element-invisible.

Bearbeiten: $conf['error_level'] = 1;sollte auch in der settings.phpDatei platziert werden.

endo64
quelle