Aktueller Standort: Startseite> Neueste Artikel> Wie ändere ich die Fehlerberichterstattung von PHP mit iNi_Set?

Wie ändere ich die Fehlerberichterstattung von PHP mit iNi_Set?

gitbox 2025-08-26

In der PHP -Entwicklung ist die Fehlerberichterstattung eine entscheidende Funktion, die Entwicklern dabei hilft, Probleme in ihrem Code schnell zu lokalisieren und zu lösen. PHP bietet eine Vielzahl von Möglichkeiten, um die Fehlerberichterstattung zu steuern. Eine davon ist die Verwendung der Funktion ini_set () . In diesem Artikel wird vorgestellt, wie die Fehlerberichterstattung von PHP über die Funktion ini_set () geändert und einige gemeinsame Anwendungsszenarien bereitgestellt werden.

Was ist die Funktion ini_set () ?

Ini_Set () ist eine integrierte Funktion in PHP, mit der PHP-Konfigurationsoptionen zur Laufzeit geändert werden. Durch diese Funktion können Entwickler die in der PHP -Konfigurationsdatei (PHP.ini) angegebenen Einstellungen ändern, einschließlich Fehlerberichterstattung, Zeitzone, Datei -Upload -Größe usw. Die grundlegende Syntax lautet wie folgt:

 <span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$option</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$value</span></span><span>): </span><span><span class="hljs-keyword">string</span></span><span>|</span><span><span class="hljs-literal">false</span></span><span>
</span></span>
  • $ Option : Der Name der Konfigurationsoption, die geändert werden muss.

  • $ value : neuer Konfigurationswert.

In diesem Artikel werden wir uns darauf konzentrieren, wie INI_SET () verwendet wird, um die Ebene der PHP -Fehlerberichterstattung zu steuern.

Ändern Sie die Fehlerberichtstufe

Der Fehlerberichterstattungsmechanismus von PHP verwendet zwei Hauptkonfigurationselemente: ERROR_REPORTING UND DILD_ERRORS . ERROR_REPORTING steuert den von PHP angezeigten Fehlertyp, während Display_errors steuert, ob Fehler auf Webseiten angezeigt werden.

1. Verwenden Sie ERROR_REPORTING () , um die Fehlerebene festzulegen

Mit der Funktion "ERROR_REPORTING () werden die ausführliche Ebene der PHP -Fehlerberichterstattung festgelegt. In der Funktion ini_set () können wir die angegebene Fehlerstufe angeben, indem wir die Option "IRREPORTIONIERUNG" einstellen.

Nehmen wir beispielsweise an, wir möchten nur alle Fehler melden, aber keine Warnungen und Benachrichtigungen:

 <span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'error_reporting'</span></span><span>, E_ERROR | E_WARNING);
</span></span>

Im obigen Code gibt E_ERROR einen tödlichen Fehler an, und E_WARNING gibt eine Laufzeitwarnung an. Dadurch wird der PHP -Bericht nur tödliche Fehler und Warnungen ausmachen.

2. Steuerfehleranzeige

Darüber hinaus bestimmt das Konfigurationselement display_errors , ob der Fehler direkt im Browser angezeigt werden soll. In einer Entwicklungsumgebung möchten wir im Allgemeinen detaillierte Fehlerinformationen sehen, während wir in einer Produktionsumgebung Anzeigefehler für eine verbesserte Sicherheit deaktivieren sollten.

 <span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'display_errors'</span></span><span>, </span><span><span class="hljs-number">1</span></span><span>); </span><span><span class="hljs-comment">// Fehler werden in der Entwicklungsumgebung angezeigt</span></span><span>
</span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'display_errors'</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>); </span><span><span class="hljs-comment">// In der Produktionsumgebung werden keine Fehler angezeigt</span></span><span>
</span></span>

Es wird im Allgemeinen empfohlen, während der Entwicklung Display_errors auf 1 und 0 in der Produktion einzustellen, um zu verhindern, dass sensible Informationen durchgesickert werden.

3. Vollständiges Beispiel

Hier finden Sie einen vollständigen Beispielcode, der zeigt, wie die Fehlerberichterstattungsstufe mit der Funktion ini_set () konfiguriert werden:

 <span><span><span class="hljs-comment">// Legen Sie die Fehlerberichterstattungsstufe fest:Melden Sie alle Arten von Fehlern</span></span><span>
</span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'error_reporting'</span></span><span>, E_ALL);

</span><span><span class="hljs-comment">// 在Fehler werden in der Entwicklungsumgebung angezeigt</span></span><span>
</span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'display_errors'</span></span><span>, </span><span><span class="hljs-number">1</span></span><span>);

</span><span><span class="hljs-comment">// Deaktivieren Sie Anzeigefehler in der Produktionsumgebung</span></span><span>
</span><span><span class="hljs-comment">// ini_set('display_errors', 0);</span></span><span>
</span></span>

Häufige Fehlerberichterstattungsstufen

In PHP akzeptiert ERROR_REPORTING () eine Reihe von Konstanten, die jeweils einen anderen Fehlertyp darstellen. Häufige Fehlerstufen umfassen:

  • E_ERROR : Fatal Runtime Fehler.

  • E_WARNING : Laufzeitwarnung (nicht tödlicher Fehler).

  • E_NOTICE : Laufzeitbenachrichtigung (normalerweise ein mögliches Problem in Skripten).

  • E_ALL : Alle Fehler und Warnungen.

  • E_strict : Eine Warnung vor Best Practices von PHP -Code (z. B. eine Warnung vor abgeschriebenen Merkmalen).

Sie können diese Konstanten kombinieren, um den Fehlertyp auszuwählen, den Sie melden möchten. Zum Beispiel e_error | E_WARNING | E_Parse meldet alle tödlichen Fehler, Warnungen und Parsenfehler.

Best Practices für das Debuggen von Entwicklungsumgebungen und Produktionsumgebungen

  • Entwicklungsumgebung : Während der Entwicklungsphase benötigen wir normalerweise detaillierte Fehlerinformationen wie möglich, um das Problem zu lokalisieren. Daher kann ERROR_REPORTING auf e_all gesetzt werden und Display_errors können aktiviert werden, um Fehlermeldungen anzuzeigen.

     <span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'error_reporting'</span></span><span>, E_ALL);
    </span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'display_errors'</span></span><span>, </span><span><span class="hljs-number">1</span></span><span>);
    </span></span>
  • Produktionsumgebung : Um zu vermeiden, dass die sensiblen Informationen durchlaufen, sollte die Fehleranzeige in der Produktionsumgebung deaktiviert werden und nur Fehlerprotokolle aufgezeichnet werden. Dies kann durch die folgenden Einstellungen erreicht werden:

     <span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'error_reporting'</span></span><span>, E_ALL);
    </span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'display_errors'</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>);
    </span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'log_errors'</span></span><span>, </span><span><span class="hljs-number">1</span></span><span>);  </span><span><span class="hljs-comment">// Protokollierung einschalten</span></span><span>
    </span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'error_log'</span></span><span>, </span><span><span class="hljs-string">'/path/to/php-error.log'</span></span><span>);  </span><span><span class="hljs-comment">// Legen Sie den Fehlerprotokolldateipfad ein</span></span><span>
    </span></span>

Zusammenfassung

Ini_Set () ist eine leistungsstarke Funktion, mit der wir die PHP -Konfiguration zur Laufzeit dynamisch anpassen können. Durch Anpassung der Konfigurationen von ERROR_REPORTING- und DILD_ERRORS können wir steuern, wie PHP -Fehlern berichtet und angezeigt wird. In einer Entwicklungsumgebung möchten wir detaillierte Fehlerinformationen sehen, während wir in einer Produktionsumgebung sicherstellen müssen, dass die Fehlerinformationen nicht an den Endbenutzer weitergegeben werden. Daher ist die Verwendung von Ini_Set () zur Änderung der Fehlerberichterstattung von PHP eine grundlegende Fähigkeit bei der Entwicklung und Bereitstellung von PHP -Anwendungen.