1. Home
  2. Logfiles und Troubleshooting
  3. Bedeutung von NOTICE, WARNING und ERROR in den Zen Cart Debug Logs

Bedeutung von NOTICE, WARNING und ERROR in den Zen Cart Debug Logs

Generell:

Der Beginn des Namens eines Logfiles zeigt, welcher Bereich betroffen ist

zcInstallDEBUG
protokolliert Fehler/Auffälligkeiten bei der Installation oder dem Update

myDEBUG
protokolliert Fehler/Auffälligkeiten im Frontendbereich

myDEBUG-adm
protokolliert Fehler/Auffälligkeiten im Adminbereich


Ist ein Logfile vorhanden wird das seit Zen Cart 1.5.6 im Header der Shopadministration angezeigt.

Unter Konfiguration > Protokollierung/Logfiles kann dieser Hinweis deaktiviert werden, falls er nerven sollte.

Wichtiger Hinweis zu Error Logs unter PHP 8:
Aufgrund des Override Systems für Sprachdateien in Zen Cart 1.5.x ist es unvermeidlich, dass es „doppelte“ Sprachdefinitionen gibt.
PHP 8 wird doppelte Sprachdefinitionen mit einem Logfile quittieren und darauf hinweisen.
Unter Konfiguration > Protokollierung/Logfiles ist daher seit 1.5.7 beim Logfiles Level für Adminbereich und Frontend „IgnoreDups“ voreingestellt.
Das sollte auch so bleiben, die Einstellung Yes führt zu unzähligen, völlig unnötigen Warning Logs.

Nicht jedes Log ist ein Hinweis auf einen wirklich schwerwiegenden Fehler, der die Funktionalität beeinträchtigt.

Es gibt 3 „Schweregrade“ für Fehler, die in den Debug Error Logs protokolliert werden:

ERROR

Hier ist eine Funktionalität wirklich ernsthaft nicht gegeben. Besucher des Shops werden es merken, da weiße Seiten erscheinen.
Oder Sie sehen in der Administration bei der Ausführung einer Aktion eine weiße Seite.
Die Ausführung wird aufgrund eines Fehlers abgebrochen.
Diese Fehler haben höchste Priorität und sollten sofort näher untersucht und behoben werden.

Siehe dazu:
https://www.zen-cart-pro.at/knowledgebase/weisse-seite-an-error-occured-datenbankabfragen-schlagen-fehl/

WARNING

Hier ist keine Funktionalität ernsthaft betroffen. Besucher des Shops werden solche Fehler in der Regel nicht merken.
Diese Fehler haben mittlere Priorität und sollten bei Gelegenheit näher untersucht und behoben werden.
Seit PHP 7.3 können diese Warnings stark zunehmen, wenn weiterhin unsauberer Code, z.B. von alten Modulen oder alten Templates einfach unverändert weiterverwendet wird.
Seit PHP 7.3 wird geprüft, ob bei der Abfrage von Variablen, diese Variablen auch wirklich irgendwo definiert sind.
Das können Konfigurationseinträge in der Datenbank sein oder Definitionen von Sprachkonstanten in den Sprachdateien.
Enthält ein Skript Abfragen solcher Variablen, die weder in der Datenbank noch in den passenden Sprachdateien definiert sind, dann wird ein Log mit z.B. folgender PHP Warning erzeugt:

PHP Warning: Use of undefined constant TEXT_SEARCH_FOR_TRACKING_ID - assumed 'TEXT_SEARCH_FOR_TRACKING_ID' (this will throw an Error in a future version of PHP) in irgendwas/irgendwas

bedeutet:

Es wird in der betroffenen Datei zwar auf TEXT_SEARCH_FOR_TRACKING_ID verwiesen, dafür gibt es aber weder einen Konfigeintrag in der Datenbank noch eine Sprachdefinition.
In PHP 7.3 oder 7.4 wird nur darauf hingewiesen, die Ausführung wird nicht abgebrochen, es ist also keine Funktionalität davon betroffen.
In der nächsten PHP Version wird dieses Problem aber zu einem Error und damit zu einem echten Problem führen, daher sollte das ganze bereits jetzt schnellstmöglich behoben werden.

In diesem Beispiel wurde die aufgerufene Konstante TEXT_SEARCH_FOR_TRACKING_ID nicht in der passenden Sprachdatei hinterlegt.

Weiteres Beispiel:

PHP Warning: Use of undefined constant GADIR - assumed 'GADIR' (this will throw an Error in a future version of PHP) in irgendwas/irgendwas

In diesem Beispiel wurde in einer Datei eine Abfrage nach dem Konfigurationseintrag GADIR gestartet. Diesen Eintrag gibt es aber nicht in der Datenbank, der gemeinte Eintrag war GOOGLE_ANALYTICS_DIR und wurde in der Datei falsch mit GADIR bezeichnet.

Seit PHP 8 führen solch fehlende Sprachdefinitionen oder Konfigurationsdefinitionen zum Abbruch, sie erzeugen dann eine weiße Seite und generieren ein Error-Log.
Wenn Sie Ihren 1.5.7 Shop mit PHP 8 betreiben, dann achten Sie unbedingt darauf, dass Ihre Sprachdefinitionen komplett sind!

NOTICE

Diese Hinweise sind zu 99% völlig harmlos. Eine Funktionalität ist davon nicht betroffen.
Diese Meldungen sind selten, bei der Installation kann z.B. folgendes Log einmalig generiert werden:

PHP Notice: Undefined offset: 1 in /www/htdocs/xxx/www.xxx.com/xxx/zc_install/includes/classes/class.zcDatabaseInstaller.php on line 449

Solche Hinweise können nicht in allen Szenarien abgefangen werden und werden in der Regel nicht wieder auftreten.
Solche einmaligen Logs mit PHP Notice ignorieren und löschen.


Beitrags Info:

zuletzt aktualisiert am 29. Mai 2022 um 6:29

Beitrags Tags:


War dieser Beitrag hilfreich?

Weitere Beiträge zu diesem Thema