Wie kann ich die Fehlermeldungen sehen, wenn die Site, an der ich arbeite, einen weißen Bildschirm erhält?
25
Schreibe dies unten in die settings.php:
error_reporting(-1); // Have PHP complain about absolutely everything
$conf['error_level'] = 2; // Show all messages on your screen, 2 = ERROR_REPORTING_DISPLAY_ALL.
ini_set('display_errors', TRUE); // These lines just give you content on WSOD pages.
ini_set('display_startup_errors', TRUE);
Die Ressource " Weißer Bildschirm des Todes" (vollständig leere Seite) auf drupal.org führt Sie durch die einzelnen Schritte, um die Fehlermeldung sowie häufig auftretende Probleme anzuzeigen.
quelle
Schauen Sie sich das Apache-Fehlerprotokoll an, in Ubuntu befindet es sich,
/var/log/apache2/error.log
damit Sie Folgendes tun können:quelle
sudo tail -f /var/log/apache2/error.log
Ich habe eine einfache Möglichkeit gefunden, die WSOD-Fehler aufzuspüren, indem ich die gesamte Site über Folgendes ausgeführt habe
drush
:Rufen Sie anschließend die Site unter der angegebenen neuen Adresse auf (z. B.
127.0.0.1:8080
), und versuchen Sie, das Problem zu reproduzieren. Auf dem Bildschirm des Terminals werden alle Fehler angezeigt. Es ist nicht erforderlich, Ihr PHP neu zu konfigurieren, insbesondere in Fällen, in denen eindisplay_errors
Fehler auftritt (z. B. MAMP).Ein anderer kniffliger Weg, den ich mit Hilfe von Debuggern gefunden habe, zB:
OS X:
Linux:
Hinweis: Wechseln Sie
httpd
zu,php
wenn Siedrush rs
wie oben beschrieben arbeiten.Oder installieren Sie die
XDebug
PHP-Erweiterung und generieren Sie eine Trace-Datei (xdebug.auto_trace=1
).quelle
Wenn Sie drush verwenden, werden mit dem Befehl drush-ws Fehlermeldungen angezeigt.
quelle
Ich habe gerade den Wert der Variablen $ update_free_access von FALSE in TRUE geändert und die Datei update.php ausgeführt. Es hat mein Problem gelöst.
quelle
Sie können index.php ändern und den Code mit einem try / catch abschließen. So was:
Die Fehlermeldung zeigt die Datei und die Codezeile an, die den Fehler verursacht haben.
quelle