
Abs
Ich habe meine PHP-INI-Datei überprüft (php.ini
) und display_errors
eingestellt ist und auch Fehlerberichte sind E_ALL
. Ich habe meinen Apache-Webserver neu gestartet.
Ich habe diese Zeilen sogar an den Anfang meines Skripts gesetzt, und es fängt nicht einmal einfache Parsing-Fehler ab. Zum Beispiel deklariere ich Variablen mit a "$"
und ich schließe keine Aussagen";"
. Aber alle meine Skripte zeigen eine leere Seite auf diesen Fehlern, aber ich möchte die tatsächlich sehen Fehler in meiner Browserausgabe.
error_reporting(E_ALL);
ini_set('display_errors', 1);
Was bleibt zu tun?

Lust auf Johannes
Das funktioniert bei mir immer:
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);
Dies führt jedoch nicht dazu, dass PHP Parsing-Fehler anzeigt – die einzige Möglichkeit, diese Fehler anzuzeigen, besteht darin, Ihre php.ini mit dieser Zeile zu ändern:
display_errors = on
(Falls du keinen Zugriff hast php.ini
und fügen Sie dann diese Zeile ein .htaccess
könnte auch funktionieren):
php_flag display_errors 1

Michael Madson
Sie können keine Parsing-Fehler abfangen, wenn Sie die Fehlerausgabe zur Laufzeit aktivieren, da die Datei analysiert wird, bevor tatsächlich etwas ausgeführt wird (und da dabei ein Fehler auftritt, wird nichts ausgeführt). Sie müssen die tatsächliche Serverkonfiguration so ändern, dass display_errors aktiviert ist und die entsprechende error_reporting-Ebene verwendet wird. Wenn Sie keinen Zugriff auf php.ini haben, können Sie je nach Server möglicherweise .htaccess oder ähnliches verwenden.
Diese Frage kann zusätzliche Informationen liefern.

Benutzer1803477
In Ihrem php.ini:
display_errors = on
Starten Sie dann Ihren Webserver neu.

andre
Um alle Fehler anzuzeigen, müssen Sie:
1. Fügen Sie diese Zeilen in das PHP-Skript ein, das Sie vom Browser aufrufen (normalerweise index.php
):
error_reporting(E_ALL);
ini_set('display_errors', '1');
2.(a) Stellen Sie sicher, dass dieses Skript keine Syntaxfehler enthält
-oder-
2.(b) Satz display_errors = On
in deiner php.ini
Andernfalls kann es nicht einmal diese 2 Zeilen ausführen!
Sie können in Ihrem Skript nach Syntaxfehlern suchen, indem Sie Folgendes ausführen (in der Befehlszeile):
php -l index.php
Wenn du enthalten das Skript von einem anderen PHP-Skript dann es Wille Anzeige von Syntaxfehlern in der inbegriffen Skript. Zum Beispiel:
index.php
error_reporting(E_ALL);
ini_set('display_errors', '1');
// Any syntax errors here will result in a blank screen in the browser
include 'my_script.php';
my_script.php
adjfkj // This syntax error will be displayed in the browser

Kalhua
Bei einigen Webhosting-Anbietern können Sie PHP-Parameter in der ändern .htaccess
Datei.
Sie können die folgende Zeile hinzufügen:
php_value display_errors 1
Ich hatte das gleiche Problem wie Sie und diese Lösung hat es behoben.
Möglicherweise stellen Sie fest, dass alle Einstellungen für „Fehlerberichte“ oder „Fehler anzeigen“ in PHP 7 nicht zu funktionieren scheinen. Das liegt daran, dass sich die Fehlerbehandlung geändert hat. Versuchen Sie stattdessen Folgendes:
try{
// Your code
}
catch(Error $e) {
$trace = $e->getTrace();
echo $e->getMessage().' in '.$e->getFile().' on line '.$e->getLine().' called from '.$trace[0]['file'].' on line '.$trace[0]['line'];
}
Oder um Ausnahmen und Fehler auf einmal abzufangen (dies ist nicht abwärtskompatibel mit PHP 5):
try{
// Your code
}
catch(Throwable $e) {
$trace = $e->getTrace();
echo $e->getMessage().' in '.$e->getFile().' on line '.$e->getLine().' called from '.$trace[0]['file'].' on line '.$trace[0]['line'];
}

Peter Mortensen
Das wird funktionieren:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
?>
9945100cookie-checkWie bekomme ich PHP-Fehler angezeigt?yes
Ich muss noch genau herausfinden, warum dies manchmal funktioniert und nicht andere, aber für alle, die schnell Fehler in einem PHP-Skript umschalten (oder sie über eine
$_REQUEST
Parameter) werden diese beiden Zeilen die meiste Zeit funktionieren.– Brandonscript
28. Oktober 2013 um 20:15 Uhr
Nun, Sie können Details des Fehlers sehen, indem Sie xdebug aus der PHP-INI-Datei aktivieren.
– Juwelhuq
13. Januar 2016 um 10:14 Uhr
Die meisten spezifischen Editoren / IDEs wie z. B. Notepad ++, Eclipse haben eine integrierte Syntaxprüfung und Hervorhebung. Sie zeigen Ihnen die von Ihnen beschriebenen Probleme. Bitte schalten Sie die Anzeige von Fehlern nicht auf einem Live-System ein. Hacker werden das lieben, denn in den meisten Fällen werden Pfade angezeigt. Sie können Fehler-/Ausnahmehandler definieren. In diesem Handler können Sie das Problem protokollieren und eine E-Mail an den Entwickler senden, damit er es sofort beheben kann, wenn ein Problem auftritt. sehen php.net/manual/en/function.set-error-handler.php und php.net/manual/en/function.set-exception-handler.php
– Alexander Behling
10. Dezember 2020 um 8:08 Uhr