GX-Bug #61685
geschlossenDer Error Logger erzeugt Fehler, wenn während der Cronjob-Ausführung PHP-Warnungen auftreten
0%
Beschreibung
Ist:
Aktuell führen PHP-Warnungen bei der Ausführung von Cronjobs zum Abbruch. Dadurch werden einzelne Jobs wie z. B. die Sitemap-Generierung in der Übersicht für "Zeitgesteuerte Aufgaben" als fehlgeschlagen markiert (rot hinterlegt).
Soll:
Bei PHP-Warnungen soll die Ausführung des Cronjobs nicht abbrechen, so dass Jobs wie die Sitemap-Generierung wieder erfolgreich durchlaufen.
Vorbedingungen:
- Der Shop muss unter PHP7.2 laufen.
- Um eine Beispiel-Warnung zu erzeugen: Mindestens ein Artikel sollte eine Kundenrezension haben.
Step-by-Step:
- Gambio Admin: Toolbox > Zeitgesteuerte Aufgaben > "Export der Sitemap XML" aktivieren
- Cronjob-URL kopieren und in einem eigenen Browser-Tab ausführen
- Anschließend ist der Cronjob als fehlgeschlagen (rot hinterlegt) markiert
Das Problem ist bei einem Kunden unter PHP7.2 aufgetreten. Ab dieser PHP-Version ist die Verwendung undefinierter Konstanten als "deprecated" markiert, was zu einer Warnung führt. Aktuell haben wir einen solchen Fall bei 5-Sterne-Bewertungen bei Produkten. Bei der Sitemapgenerierung über den Cronjob, wird die entsprechende Seite besucht und die Warnung tritt auf. Das Problem ist, dass die Ausführung des Cronjobs in einer Closure passiert, womit der der Error Logger aktuell nicht klar kommt. Der Logger versucht mithilfe der ReflectionClass herauszufinden, wo der Fehler geworfen wird und versteht nicht, dass dies bei einer Closure nicht so einfach möglich ist. Das bedeutet, dass der Grund für den Abbruch der Cronjob-Ausführung der Logger selbst ist.
Lösungsvorschlag:
Der Logger sollte zu Closures einfach keine weiteren Informationen loggen. In LogEvent::init_function_data() sollte dazu abgefragt werden, ob $t_call['function'] nicht '{closure}' ist.
Von Daniel Wu vor etwa 5 Jahren aktualisiert
- Beschreibung aktualisiert (Vergleich)
- Zielversion wurde auf 133 gesetzt
Von Nina Bischoff vor mehr als 2 Jahren aktualisiert
- Zugewiesen an wurde auf Nina Bischoff gesetzt
Von Nina Bischoff vor mehr als 2 Jahren aktualisiert
- Zugewiesen an
Nina Bischoffwurde gelöscht
Von Nina Bischoff vor mehr als 2 Jahren aktualisiert
- Status wurde von Gemeldet zu Abgewiesen geändert