Bessere Fehlermeldungen in WordPress

Hat man WordPress über Composer installiert, kann man auf unzählige PHP-Pakete zurückgreifen, die einem das Leben erleichtern. Ein Paket, was aus meiner Sicht in jedes System gehört, ist Whoops, ein Paket dass Fehlermeldungen mit allen wichtigen Informationen ausgibt.

So sieht das dann aus und da ist alles dabei was interessant ist: Die Datei in der der Fehler auftritt, die Zeilennummer, der Code (und ein paar Zeilen vorher und nacher) werden mit angezeigt, der Callstack, also welche Funktionen vorher aufgerufen wurden und alles was den Nutzer beschreibt wie z. B. gesetzte Cookies.

Das Paket kann man in Composer wie folgt hinzufügen:

composer require filp/whoops --dev

In der wp-config.php muss man dann die Composer autoload.php einbinden und das Debug-Paket aktivieren. Am besten macht man das, nachdem WP_DEBUG definiert wurde – dann kann man das Paket abhängig von der Umgebung nutzen.

if (defined('WP_DEBUG') && WP_DEBUG && php_sapi_name() !== 'cli') {
	if (class_exists('Whoops\Run')) {
		$whoops = new Whoops\Run;
		if (Whoops\Util\Misc::isAjaxRequest()) {
		 	$whoops->pushHandler(new Whoops\Handler\PlainTextHandler());
		} else {
			$whoops->pushHandler(new Whoops\Handler\PrettyPageHandler);
		}
		$whoops->register();
	}
}

Das gehört natürlich nur in eine Entwicklungsumgebung, nicht in eine Produktivumgebung. Viel Spaß beim Debuggen!

Hans Pagel

Hans, gelernter Designer, berät, konzipiert und programmiert. Ob individuelle, experimentelle oder pragmatische Lösungen, er findet eine, die zu dir passt.