Das Debuggen von PHP-Code ist Teil eines jeden Projekts. WordPress wird jedoch mit speziellen Debug-Systemen geliefert, die den Prozess vereinfachen und den Code für den Kern, die Plugins und die Themen standardisieren sollen. Diese Seite beschreibt die verschiedenen Debugging-Tools in WordPress und wie Sie Ihre Codierung produktiver gestalten und die Gesamtqualität und Interoperabilität Ihres Codes verbessern können.
Für Nicht-Programmierer oder allgemeine Benutzer können diese Optionen verwendet werden, um detaillierte Fehlerinformationen anzuzeigen.
WP_DEBUG #
WP_DEBUG ist eine PHP-Konstante (eine permanente globale Variable), die verwendet werden kann, um den «Debug» -Modus in WordPress auszulösen. Es wird standardmäßig als falsch angenommen und normalerweise in der Datei wp-config.php auf Entwicklungskopien von WordPress auf true gesetzt .
Anmerkung: Die Werte true und false im Beispiel sind nicht von Apostrophen (‹) umgeben, da es sich um boolesche Werte (true / false) handelt. Wenn Sie Konstanten auf ‹false› setzen, werden sie als wahr interpretiert, da die Anführungszeichen eher eine Zeichenfolge als einen Booleschen Wert darstellen.
Es wird nicht empfohlen, WP_DEBUG die anderen Debug-Tools auf Live-Sites zu verwenden. Sie sind für lokale Test- und Staging-Installationen gedacht.
PHP-Fehler, Warnungen und Hinweise #
Durch das Aktivieren WP_DEBUG werden alle PHP-Fehler, Hinweise und Warnungen angezeigt. Dies wird wahrscheinlich das Standardverhalten von PHP ändern, das nur schwerwiegende Fehler anzeigt und / oder einen weißen Bildschirm anzeigt, wenn Fehler erreicht werden.
Das Anzeigen aller PHP-Hinweise und -Warnungen führt häufig zu Fehlermeldungen für Dinge, die nicht beschädigt zu sein scheinen, die jedoch nicht den korrekten Konventionen zur Datenüberprüfung in PHP entsprechen. Diese Warnungen können einfach behoben werden, sobald der entsprechende Code identifiziert wurde. Der resultierende Code ist fast immer fehlerresistent und leichter zu warten.
Veraltete Funktionen und Argumente #
Durch das Aktivieren WP_DEBUG werden auch Hinweise zu veralteten Funktionen und Argumenten in WordPress angezeigt, die auf Ihrer Site verwendet werden. Dies sind Funktionen oder Funktionsargumente, die noch nicht aus dem Kerncode entfernt wurden, aber in naher Zukunft gelöscht werden sollen. Verfallbenachrichtigungen geben häufig die neue Funktion an, die stattdessen verwendet werden sollte.
WP_DEBUG_LOG #
WP_DEBUG_LOG ist ein Begleiter von WP_DEBUG, der bewirkt, dass alle Fehler auch in einer debug.log-Protokolldatei gespeichert werden. Dies ist nützlich, wenn Sie alle Benachrichtigungen später überprüfen möchten oder Benachrichtigungen anzeigen müssen, die außerhalb des Bildschirms generiert wurden (z. B. während einer AJAX-Anforderung oder wp-cron) Lauf).
Beachten Sie, dass Sie auf diese Weise mithilfe der integrierten PHP- error_log()Funktion in die Protokolldatei schreiben können, was beispielsweise beim Debuggen von Ajax-Ereignissen hilfreich sein kann.
Bei Auswahl von true wird das Protokoll wp-content/debug.logim Dateisystem Ihrer Site gespeichert . Alternativ können Sie einen gültigen Dateipfad festlegen, um die Datei an einer anderen Stelle zu speichern.
Hinweis: WP_DEBUG_LOG Um etwas zu tun, WP_DEBUG muss aktiviert sein (true). Denken Sie daran, Sie können WP_DEBUG_DISPLAY unabhängig ausschalten .
WP_DEBUG_DISPLAY #
WP_DEBUG_DISPLAY ist ein weiterer Begleiter WP_DEBUG, der steuert, ob Debug-Meldungen im HTML-Code von Seiten angezeigt werden oder nicht. Der Standardwert ist ‹true›, wodurch Fehler und Warnungen angezeigt werden, wenn sie generiert werden. Wenn Sie diesen Wert auf false setzen, werden alle Fehler ausgeblendet. Dies sollte in Verbindung mit verwendet WP_DEBUG_LOG werden, damit Fehler später überprüft werden können.
Hinweis: WP_DEBUG_DISPLAY Um etwas zu tun, WP_DEBUG muss aktiviert sein (true). Denken Sie daran, Sie können WP_DEBUG_LOG unabhängig steuern .
SCRIPT_DEBUG #
SCRIPT_DEBUG ist eine verwandte Konstante, die WordPress zwingt, die «dev» -Versionen von CSS- und JavaScript-Kerndateien zu verwenden, anstatt die verkleinerten Versionen, die normalerweise geladen werden. Dies ist nützlich, wenn Sie Änderungen an integrierten JS- oder CSS-Dateien testen. Standard ist false.
define( ‹SCRIPT_DEBUG›, true );
SAVEQUERIES #
Die SAVEQUERIES Definition speichert die Datenbankabfragen in einem Array. Dieses Array kann angezeigt werden, um die Analyse dieser Abfragen zu erleichtern. Die als true definierte Konstante bewirkt, dass jede Abfrage gespeichert wird, wie lange die Ausführung dieser Abfrage gedauert hat und welche Funktion sie aufgerufen hat.
Das Array wird global gespeichert $wpdb->queries.
HINWEIS: Dies hat Auswirkungen auf die Leistung Ihrer Site. Deaktivieren Sie diese Option daher, wenn Sie nicht debuggen.
Beispiel wp-config.php zum Debuggen #
Der folgende Code, der in Ihre Datei wp-config.php eingefügt wird, protokolliert alle Fehler, Hinweise und Warnungen in einer Datei namens debug.log im Verzeichnis wp-content. Außerdem werden die Fehler ausgeblendet, damit die Seitengenerierung nicht unterbrochen wird.
HINWEIS: Sie müssen dies VORHER /* That’s all, stop editing! Happy blogging. */ in die Datei wp-config.phpeinfügen.
Debugging-Plugins #
Es gibt viele Debugging-Plugins für WordPress, die mehr Informationen zu den Interna anzeigen, entweder für eine bestimmte Komponente oder allgemein. Hier sind einige Beispiele:
– Abfragemonitor
– Debug-Leiste
– Veraltete Benachrichtigungen protokollieren
Externe Ressourcen #
– WordPress ‹wp-config.php› Dateigenerator
– Plugin ‹Kein weißer Bildschirm›: Zeigt den Fehler anstelle eines weißen Bildschirms an