9 Stimmen

PHP und WordPress: Debugging

Ich schreibe einige Plugins und Themes für WordPress und finde es schwer zu debuggen, weil irgendwie bis zum Laden der Seite $_GET, $_POST und $_REQUEST alle leer sind. Auch wenn die Fehlermeldung aktiviert ist, erhalte ich keine Fehlermeldungen außer einer leeren Seite, wenn ein schwerwiegender Fehler auftritt. Gibt es einen Weg, um einen "Debug-Modus" für WordPress zu aktivieren?

Danke!

12voto

markratledge Punkte 16963

Pear Debug Wordpress Plugin: http://wordpress.org/extend/plugins/wp-pear-debug/

Update 4/08/2015: Das obige Plugin wurde seit einigen Jahren nicht aktualisiert. Sie können auch die integrierten WordPress PHP-Debugging-Funktionen in wp-config.php verwenden, z. B.:

  // Aktiviere den WP_DEBUG-Modus
define('WP_DEBUG', true);

// Aktiviere das Debug-Logging in die Datei /wp-content/debug.log
define('WP_DEBUG_LOG', true);

// Deaktiviere die Anzeige von Fehlern und Warnungen
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors',0);

// Verwende Entwicklerversionen der Kern-JS- und CSS-Dateien (nur erforderlich, wenn Sie diese Kern-Dateien modifizieren)
define('SCRIPT_DEBUG', true);

Siehe https://codex.wordpress.org/Debugging_in_WordPress für die vollständige Dokumentation

0 Stimmen

Ab PHP 7.0 (unsicher), das fast Fehler als Ausnahme wirft, scheint es, dass Wordpress manchmal einfach aufhört, ohne Fehlermeldungen zu renden. (Natürlich auch wenn die obigen Einstellungen vorgenommen wurden.) Das Setzen von set_exception_handler gist.github.com/kaorukobo/795d43c9a594b021c2d09fffd2935b37 hat dieses Problem gelöst.

5voto

VolkerK Punkte 93746

Es gibt (mehr als einen /) einen Weg, "einen 'Debug-Modus'" für PHP im Allgemeinen zu aktivieren. Und das ist die Installation einer Debugger-Erweiterung wie z.B. xdebug.
Du benötigst einen Client, der sich mit dem Debugger verbindet und die Informationen abruft+anzeigt.
Netbeans 6.7 wurde veröffentlicht und sein php-Modul unterstützt xdebug. Es ist zu einem schönen IDE für die PHP-Entwicklung geworden.

0 Stimmen

Leider nutze ich einen gehosteten Webhoster, und mein PHP-Entwicklungsstil besteht darin, direkt auf den Webhoster hochzuladen, um zu testen. Vielen Dank trotzdem, und falls ich jemals auf meinem Windows-Rechner entwickle, würde ich das verwenden.

4voto

xentek Punkte 2415

Ich weiß, dass dies schon lange beantwortet wurde, aber wenn du define('WP_DEBUG',true); in deiner wp-config.php eingibst und immer noch keine Fehler siehst, füge diesen Code direkt nach der define-Anweisung hinzu:

if (WP_DEBUG) ini_set('display_errors',1);

3voto

anton Punkte 31

Schauen Sie sich den WordPress FirePHP Debugger (Spam-Link entfernt) an. Es verwendet FirePHP zum Debuggen von WordPress über den Webbrowser.

Hauptmerkmale:

  • Automatische Erkennung der FirePHP-Serverbibliothek im PHP-Include-Pfad oder im separaten Verzeichnis
  • Frühes Laden des Debuggers (bevor die WordPress-Engine startet)
  • Keine Änderungen am WordPress-Kern oder an Konfigurationsdateien
  • Automatische Aktivierung des WordPress-Debug-Modus
  • Behandelt alle PHP-Fehlermeldungen (keine leeren Seiten und Protokollanalysen mehr)
  • Protokolliert veraltete WordPress-Funktionen und Argumente
  • Sicheres Debuggen auf der Live-Site
  • Protokoll der SQL-Abfragen
  • PHP-Superglobals und Konstanten
  • Systeminformationen (WordPress- und Serverumgebung)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X