Heim > Backend-Entwicklung > PHP-Tutorial > Vereinfachen Sie das Debuggen mit PHP error_reporting

Vereinfachen Sie das Debuggen mit PHP error_reporting

王林
Freigeben: 2023-08-31 10:30:01
Original
1585 Leute haben es durchsucht

使用 PHP error_reporting 简化调试

Heute lernen wir, wie man die error_reporting-Funktion zum Debuggen in PHP verwendet.

Mit der Funktion

error_reporting 函数允许您配置在 PHP 脚本中报告哪些错误。事实上,当您在 PHP 脚本中使用 error_reporting 函数时,它只是在运行时设置 error_reporting 指令。如果您了解 php.ini 配置文件,它提供了许多用于不同目的的配置指令,error_reporting 指令就是其中之一。具体来说,error_reporting können Sie konfigurieren, welche Fehler in PHP-Skripten gemeldet werden. Wenn Sie die

-Funktion in einem PHP-Skript verwenden, wird tatsächlich nur die

-Direktive zur Laufzeit festgelegt. Wenn Sie die Konfigurationsdatei php.ini kennen, stellt sie viele Konfigurationsdirektiven für verschiedene Zwecke bereit, die error_reporting-Direktive ist eine davon. Insbesondere ermöglicht Ihnen die

-Direktive, die Fehlerberichtsebene in Ihrem PHP-Skript festzulegen.

In diesem kurzen Artikel werden wir die Grundlagen der

-Funktion behandeln und diskutieren, wie man sie effektiv in der täglichen PHP-Entwicklung nutzt. error_reporting

Grammatik

Werfen wir einen kurzen Blick auf die Syntax von

-Funktionen.

error_reporting(int $error_level = null): int
Nach dem Login kopieren

Es benötigt einen Parameter, mit dem Sie die Fehlerstufe übergeben können, die Sie festlegen möchten. Es handelt sich um einen optionalen Parameter. Wenn Sie ihn also nicht übergeben, sollte er die aktuelle Fehlerberichtsebene zurückgeben. error_reporting

In diesem Parameter können Sie eine Bitmaske oder eine benannte Konstante übergeben. Es wird jedoch empfohlen, benannte Konstanten zu übergeben, um die Kompatibilität mit zukünftigen PHP-Versionen zu gewährleisten. Wenn Sie benannte Konstanten verwenden, verbessert dies außerdem die Lesbarkeit Ihres Codes.
  • Sie können im ersten Parameter der E_ERROR-Funktion verschiedene Fehlerkonstanten übergeben. Nachfolgend finden Sie eine kurze Liste aller Konstanten.
  • E_WARNING
  • : Schwerwiegenden Laufzeitfehler anzeigen
  • E_PARSE
  • : Laufzeitwarnung anzeigen
  • E_NOTICE
  • : Analysefehler zur Kompilierungszeit anzeigen
  • E_CORE_ERROR
  • : Laufzeitbenachrichtigungen anzeigen
  • E_CORE_WARNING
  • : Zeigt schwerwiegende Fehler an, die beim ersten PHP-Start aufgetreten sind
  • E_COMPILE_ERROR
  • : Warnungen anzeigen, die beim ersten PHP-Start auftreten
  • E_COMPILE_WARNING
  • : Schwerwiegenden Fehler bei der Kompilierung anzeigen
  • E_USER_ERROR
  • : Schwerwiegende Warnung zur Kompilierungszeit anzeigen
  • E_USER_WARNING
  • : Vom Benutzer generierte Fehlermeldungen anzeigen
  • E_USER_NOTICE
  • : Vom Benutzer generierte Warnmeldungen anzeigen
  • E_STRICT
  • : Vom Benutzer generierte Benachrichtigungsmeldungen anzeigen
  • E_RECOVERABLE_ERROR
  • : Empfohlene Änderungen an Ihrem Code, um beste Interoperabilität und Vorwärtskompatibilität sicherzustellen
  • E_DEPRECATED
  • : Abfangbare schwerwiegende Fehler anzeigen
  • E_USER_DEPRECATED:与 E_DEPRECATED
  • : Warnungen zu Code anzeigen, der in zukünftigen Versionen nicht mehr funktioniert
  • E_ALL E_USER_DEPRECATED: Ähnlich wie
  • , zeigt jedoch nur vom Benutzer generierte Warnmeldungen an

error_reporting: Alle Fehler, Warnungen und Benachrichtigungen anzeigen

error_reportingMit jeder Konstante können Sie unterschiedliche Stufen der Fehlerberichterstattung festlegen. Im nächsten Abschnitt erfahren Sie, wie Sie die Funktion

in der täglichen PHP-Entwicklung verwenden.

error_reportingSo verwenden Sie die

Funktion

Im vorherigen Abschnitt haben wir etwas über die Syntax der

-Funktion gelernt. In diesem Abschnitt erfahren Sie, wie Sie es in PHP-Skripten verwenden.

Alle Fehler anzeigenerror_reporting 函数的第一个参数中传递了 E_ALL

Werfen wir einen kurzen Blick auf die folgenden Beispiele.

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
echo $foo;
?>
Nach dem Login kopieren
$foo 变量而没有事先定义它,因此它会抛出一条通知,通知您应该在实际使用它之前定义 $fooIm obigen Beispiel haben wir die

-Konstante im ersten Parameter der

-Funktion übergeben, daher werden alle Fehler, Warnungen und Benachrichtigungen im Skript angezeigt. Wenn Sie das obige Skript ausführen, sollte der folgende Fehler angezeigt werden. -1 而不是 E_ALL

Notice: Undefined variable: foo in /web/demo/error_reporting.php on line 4
Nach dem Login kopieren

Da wir die Variable

verwenden. E_ALL

Alternativ können Sie -1 anstelle der

-Konstante übergeben, wie im folgenden Codeausschnitt gezeigt, der alle möglichen Fehler anzeigt.

<?php
error_reporting(-1);
?>
Nach dem Login kopieren

Konstanten sind sehr nützlich zum Debuggen des berühmten WSOD-Fehlers (White Screen of Death).

error_reporting 函数时,您可以使用 &|~ 等运算符来忽略和过滤特定类型的错误。在上面的示例中,我们想要显示除通知之外的所有类型的错误,因此,我们在 E_NOTICE 常量前面使用了 ~ 运算符。如果运行上面的脚本,它不会显示仅使用 E_ALLAlle Fehler außer Benachrichtigungen anzeigen

Schauen wir uns das folgende Beispiel an.

<?php
error_reporting(E_ALL & ~E_NOTICE);
ini_set('display_errors', 1);
echo $foo;
?>
Nach dem Login kopieren

Wenn Sie die

-Funktion verwenden, können Sie Operatoren wie &, | und ~ verwenden, um bestimmte Fehlertypen zu ignorieren und zu filtern. Im obigen Beispiel möchten wir alle Arten von Fehlern außer Benachrichtigungen anzeigen. Daher verwenden wir den Operator ~ vor der Konstante

. Wenn Sie das obige Skript ausführen, wird die Benachrichtigung nicht angezeigt, die angezeigt werden sollte, wenn Sie nur die error_reporting 函数希望仅显示警告和通知。正如您所看到的,我们使用了 |-Konstante verwenden.

🎜Benachrichtigungen und Warnungen anzeigen🎜 🎜In diesem Abschnitt erfahren Sie, wie Sie nur bestimmte Fehlertypen anzeigen. Werfen wir einen kurzen Blick auf die folgenden Beispiele. 🎜
<?php
error_reporting(E_WARNING | E_NOTICE);
ini_set('display_errors', 1);
include "foo_bar.php";
echo $foo;
?>
Nach dem Login kopieren
🎜Im obigen Beispiel haben wir die 🎜-Funktion angewiesen, dass nur Warnungen und Benachrichtigungen angezeigt werden sollen. Wie Sie sehen können, haben wir den Operator | verwendet, damit beide Arten von Fehlern angezeigt werden. 🎜

So verwenden Sie error_reporting Funktionen und verschiedene Arten von Fehlerkonstanten zum Debuggen in der täglichen PHP-Entwicklung.

Fazit

Heute haben wir besprochen, wie man die error_reporting-Funktion in PHP verwendet, um Fehler in PHP-Skripten zu debuggen. Wir haben besprochen, wie es verwendet werden kann, um Fehler auf verschiedenen Ebenen während der Entwicklung anzuzeigen.

Das obige ist der detaillierte Inhalt vonVereinfachen Sie das Debuggen mit PHP error_reporting. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage