WordPress hat ein eingebautes Debugging-System, das PHP-Fehler, Warnungen und Hinweise protokollieren kann. Dies ist unschätzbar für Entwicklung und Fehlerbehebung, muss aber sorgfältig konfiguriert werden, um keine Fehler an Besucher auszugeben.
In deine wp-config.php einfügen
Platziere diese Konstanten vor der Zeile /* That's all, stop editing! */:
// WP_DEBUG Modus aktivieren
define('WP_DEBUG', true);
// Fehler in /wp-content/debug.log protokollieren
define('WP_DEBUG_LOG', true);
// Fehler NICHT im Frontend anzeigen
define('WP_DEBUG_DISPLAY', false);
// Sicherstellen, dass PHP auch keine Fehler anzeigt
@ini_set('display_errors', 0);
// Alle PHP-Fehler protokollieren
@ini_set('log_errors', 1);
// Optional: Benutzerdefinierten Log-Dateipfad setzen
// define('WP_DEBUG_LOG', '/pfad/zu/custom/debug.log');
Die debug.log Datei schützen
Füge dies zu deiner .htaccess-Datei im wp-content-Verzeichnis hinzu:
# Öffentlichen Zugriff auf debug.log verhindern
<Files debug.log>
Require all denied
</Files>
Für Nginx:
location ~* /debug\.log$ {
deny all;
access_log off;
log_not_found off;
}
Die Log-Datei lesen
# Die letzten 50 Zeilen des Debug-Logs anzeigen
tail -n 50 wp-content/debug.log
# Dem Log in Echtzeit folgen
tail -f wp-content/debug.log
# Nach bestimmten Fehlern suchen
grep "Fatal error" wp-content/debug.log
Was dieses Snippet macht
- WP_DEBUG – Aktiviert den WordPress-Debug-Modus
- WP_DEBUG_LOG – Schreibt Fehler in
wp-content/debug.log - WP_DEBUG_DISPLAY – Verhindert, dass Fehler Besuchern angezeigt werden
Wichtig: Deaktiviere WP_DEBUG auf Produktionsseiten immer, wenn du nicht aktiv debuggst. InspectWP prüft in der Sicherheitsanalyse, ob debug.log-Dateien öffentlich zugänglich sind.