Während der PHP -Entwicklung sind Debugging -Fehler ein unvermeidlicher Bestandteil von Entwicklern. Um Entwicklern dabei zu helfen, Probleme schneller und genauer zu identifizieren und zu beheben, bietet PHP die Option " Display_errors ", was das Fehlererlebnis des Fehlers erheblich optimieren kann. In diesem Artikel wird eingehend untersucht, wie Sie die display_errors -Konfiguration kombinieren, um die Effizienz des PHP-Fehlerdebuggens zu verbessern.
Display_Errors ist eine Konfigurationsoption für PHP, die steuert, ob PHP Fehlermeldungen direkt an den Client anzeigt, wenn ein Fehler auftritt. Wenn diese Option eingestellt ist, zeigt PHP detaillierte Fehlerinformationen im Browser an, einschließlich Fehlertyp, Dateipfad, Zeilennummer und zugehörigen Stack -Trace -Informationen. Dies ist sehr hilfreich für die Entwicklung und Debuggierung, aber in Produktionsumgebungen wird es normalerweise ausgeschaltet, um zu vermeiden, dass vertrauliche Informationen ausgetreten sind.
In der Entwicklungsumgebung können Entwickler den Entwicklern dabei helfen, in Echtzeit verschiedene Fehler in PHP -Programmen zu erkennen, einschließlich Syntaxfehlern, Warnungen und Benachrichtigungen. Um diese Konfiguration zu aktivieren, gibt es normalerweise zwei Möglichkeiten:
Am häufigsten ist es, Display_errors in PHP -Konfigurationsdatei php.ini festzulegen:
<span><span><span class="hljs-attr">display_errors</span></span><span> = </span><span><span class="hljs-literal">On</span></span><span>
</span></span>
Starten Sie nach der Änderung den PHP -Dienst neu, um die Konfiguration zu aktivieren.
Wenn Sie die globale Konfiguration des Servers nicht ändern möchten, können Sie Display_errors dynamisch im PHP -Skript festlegen. Zum Beispiel:
<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-title function_ invoke__">error_reporting</span></span><span>(E_ALL); </span><span><span class="hljs-comment">// Zeigen Sie alle Arten von Fehlern an</span></span><span>
</span></span>
Auf diese Weise kann die Fehleranzeige im Skript aktiviert werden, selbst wenn die Datei php.ini nicht geändert wird. Auf diese Weise können Sie unterschiedliche Fehleranzeigerichtlinien für verschiedene PHP -Dateien festlegen.
Das Einschalten von Display_errors allein optimiert das Debugging -Erlebnis nicht vollständig, und es ist auch wichtig, die Konfiguration von ERROR_REPORTING rational zu verwenden. Fehler_reporting wird verwendet, um festzustellen, welche Arten von Fehlern PHP -Berichten. Es kann mit Display_errors verwendet werden, um Fehlermeldungen auf einer bestimmten Ebene anzuzeigen.
Setzen Sie beispielsweise alle Fehler anzeigen:
<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-title function_ invoke__">error_reporting</span></span><span>(E_ALL); </span><span><span class="hljs-comment">// Zeigen Sie alle Fehler,Einschließlich Warnungen、Benachrichtigungen usw.</span></span><span>
</span></span>
Dies bedeutet, dass alle Fehler, Warnungen und Benachrichtigungen angezeigt werden, was den Entwicklern dabei hilft, den laufenden Status des Code umfassender zu verstehen. Zu den häufig verwendeten ERROR_REPORTING -Konfigurationswerten gehören:
E_ALL : Alle Fehler zeigen.
E_Error : Zeigen Sie nur tödliche Fehler an.
E_WARNING : Warnfehler anzeigen.
E_NOTICE : Benachrichtigungsfehler anzeigen.
E_strict : Zeigt strenge Standardfehler im Code an.
Kombinieren Sie Display_errors und Fehler_reporting -Konfigurationen, detailliertere Fehlerdebugging -Informationen können angepasst werden.
Während das Aktivieren von Display_errors in einer Entwicklungsumgebung sehr nützlich ist, müssen wir in Produktionsumgebungen die Funktion in der Regel ausschalten, um den Benutzern sensible Fehlermeldungen zu vermeiden. Der Angreifer kann diese Fehlermeldungen verwenden, um die Struktur und die potenziellen Schwachstellen des Systems zu verstehen und einen Angriff zu starten.
Um Display_errors in der Produktion zu deaktivieren, können Sie es in php.ini festlegen:
<span><span><span class="hljs-attr">display_errors</span></span><span> = </span><span><span class="hljs-literal">Off</span></span><span>
</span></span>
Oder verwenden Sie den folgenden Code, um die Fehleranzeige dynamisch auszuschalten:
<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__">error_reporting</span></span><span>(</span><span><span class="hljs-number">0</span></span><span>); </span><span><span class="hljs-comment">// Es werden keine Fehler gemeldet</span></span><span>
</span></span>
In Produktionsumgebungen wird empfohlen, Fehlermeldungen in Protokolldateien zu protokollieren, anstatt sie auf Seiten anzuzeigen. Auf diese Weise können Entwickler die Protokolldateien weiterhin anzeigen, um festzustellen, ob das System normal ausgeführt wird, und gleichzeitig vermeiden, dass dem Benutzer zu viel Debugging -Informationen angezeigt werden.
Um Fehler in Produktionsumgebungen effektiv zu verfolgen, können Sie die Konfiguration von LOG_Errors von PHP aktivieren, um Fehlerprotokolle zu protokollieren, anstatt direkt Fehlermeldungen anzuzeigen. Verwenden Sie die folgende Konfiguration:
<span><span><span class="hljs-attr">log_errors</span></span><span> = </span><span><span class="hljs-literal">On</span></span><span>
</span><span><span class="hljs-attr">error_log</span></span><span> = /path/to/php-error.log // Log -Dateipfad einstellen
</span></span>
Auf diese Weise werden alle Fehlerinformationen in der angegebenen Protokolldatei aufgezeichnet, und Entwickler können den Systembetrieb überprüfen und debuggen, ohne die Benutzererfahrung zu beeinflussen.
Konfigurieren Sie rational die Konfigurationsoptionen display_errors , kombiniert mit ERROR_REPORTING UND LOG_ERRORS , die Fehlererfahrung bei der Debugging von Fehler während der PHP -Entwicklung effektiv optimieren. In der Entwicklungsumgebung können wir Probleme schnell finden, indem wir die Fehleranzeige und detaillierte Fehlerberichte ausschalten. In der Produktionsumgebung kann das Ausschalten der Fehleranzeige und das Aktivieren der Fehlerprotokollierung das System vor vertraulichen Informationen schützen. Das Beherrschen dieser Konfigurationen kann Entwicklern helfen, sowohl in der Entwicklung als auch in der Startphase effizienter zu arbeiten.