In diesem Leitfaden erfahren Sie, wie Sie display_errors in Ihrem JTL-Shop aktivieren können, um PHP-Fehler direkt im Frontend sichtbar zu machen. Dies ist besonders hilfreich, wenn Sie z. B. einen Fehler 500 auf einer Seite haben und die Ursache finden möchten.
📌 Hinweis: Aktivieren Sie
display_errorsnur zu Test- oder Debugging-Zwecken. In Live-Shops sollte die Option unbedingt wieder deaktiviert werden, damit Kunden keine Fehlermeldungen sehen.
Login in DirectAdmin
Melden Sie sich zunächst in Ihrem DirectAdmin-Konto an.
Dateimanager öffnen
Navigieren Sie im DirectAdmin zu Ihrem Dateimanager:

Wechseln Sie in das Verzeichnis Ihrer Domain, in dem der JTL-Shop installiert ist. Typischer Pfad:
~/domains/example.com/public_html/includes/
Beispiel bei uns:
/home/ecomdata/domains/ecom1.data/public_html/includes

Konfigurationsdatei bearbeiten
Suchen Sie die Datei config.JTL-Shop.ini.php.
💡 Tipp: Nutzen Sie die Browser-Suche (
STRG + F) für eine schnellere Auffindung.

Datei per Rechtsklick öffnen und Bearbeiten wählen:

display_errors aktivieren oder deaktivieren
Suchen Sie folgende Zeile:
// explicitly show errors
ini_set('display_errors', 0);
0= deaktiviert1= aktiviert
❗Falls diese Zeile fehlt, können Sie sie einfach wieder hinzufügen. Achten Sie dabei darauf, keine Duplikate zu erzeugen.

Passen Sie den Wert an und speichern Sie die Datei.
⚠️ Wichtig: Ändern Sie die Einstellung unbedingt wieder zurück, wenn Sie in einem Live-Shop arbeiten.
Fehler nur für Ihre IP anzeigen
Sie können display_errors nur für Ihre IP-Adresse aktivieren, um Kunden keine Fehler anzuzeigen:
// https://www.ecomdata.de/meineip
if ($_SERVER['REMOTE_ADDR'] === '1.2.3.4') {
ini_set('display_errors', '1');
} else {
ini_set('display_errors', '0');
}
📌 Hinweis: IF-Abfragen in der Shop-Konfiguration erhöhen die Ladezeit, daher nur kurzfristig nutzen.
Logging-Einstellungen überprüfen
Falls Logging deaktiviert ist oder fehlt, können Sie die folgenden Zeilen einfügen, um Fehler zu protokollieren. Achten Sie auch hier auf Duplikate:
Alle Logs aktivieren (nur für Testumgebung, nicht produktiv):
// The following defines usually should not be used in productive environments!
// enables printing of all warnings/infos/errors for the shop frontend
define('SHOP_LOG_LEVEL', E_ALL);
// enables printing of all warnings/infos/errors for the dbeS sync
define('SYNC_LOG_LEVEL', E_ALL);
// enables printing of all warnings/infos/errors for the admin backend
define('ADMIN_LOG_LEVEL', E_ALL);
// enables printing of all warnings/infos/errors for the smarty templates
define('SMARTY_LOG_LEVEL', E_ALL);
Weitere Informationen: JTL DevGuide – Config Tips
⚠️ Wichtig: Hohe Log-Level können viele Informationen erzeugen und die Performance beeinträchtigen. Nur für Testzwecke einsetzen.
Optimierte Version für gezieltes Logging ohne unnötige Hinweise oder veraltete Meldungen:
// enables printing of warnings/infos/errors for the shop frontend
define('SHOP_LOG_LEVEL', E_ALL ^ ~E_DEPRECATED ^ ~E_USER_DEPRECATED);
// enables printing of warnings/infos/errors for the dbeS sync
define('SYNC_LOG_LEVEL', E_ALL ^ E_NOTICE ^ ~E_DEPRECATED ^ ~E_USER_DEPRECATED ^ E_WARNING);
// enables printing of warnings/infos/errors for the admin backend
define('ADMIN_LOG_LEVEL', E_ALL);
// enables printing of warnings/infos/errors for the smarty templates
define('SMARTY_LOG_LEVEL', E_ALL ^ E_NOTICE ^ ~E_DEPRECATED ^ ~E_USER_DEPRECATED ^ E_WARNING );