Magento Logo

In den vergangenen Tagen haben wir bei einem unserer Kunden ein Problem im Zusammenhang mit dem Magento Cronjob (cron.php) festgestellt. Aus irgend einem uns bis dahin unbekannten Grund ist der Cron nicht durchgelaufen. Dies hat in der Folge zu vielen Problemen im Shop geführt, da eine Vielzahl an Prozessen in Magento über Crons gesteuert werden und diese dann nicht mehr ausgeführt wurden. Wir erklären Ihnen hier, wie wir das Problem lösen konnten.

Problemanalyse
Bei näherer Betrachtung und Analyse der Fehler konnten wir schnell feststellen, dass die Probleme im Zusammenhang mit nicht ausgeführten Prozessen zu tun hatten. Aus Erfahrung wussten wir, dass diese Prozesse über Crons in Magento gesteuert werden. Trotzdem konnten wir den Fehler nicht reproduzieren, da der manuelle Aufruf der cron.php alle Aufgaben mit Bravour durchführte.

Lösung
Nach weiterer Analyse und Recherche haben wir dann herausgefunden, dass in der cron.php eine bestimmte Variable standardmäßig auf den Wert „true“ gesetzt werden muss. Genauer gesagt handelt es sich um die Variable $isShellDisabled. Fügen Sie also in Zeile 50 der cron.php folgendes ein: $isShellDisabled = true; Ihre Datei sollte dann etwa so aussehen:


$isShellDisabled = is_array($disabledFuncs) ? in_array('shell_exec', $disabledFuncs) : true;
$isShellDisabled = (stripos(PHP_OS, 'win') === false) ? $isShellDisabled : true;
$isShellDisabled = true;
try {
if (stripos(PHP_OS, 'win') === false) {
$options = getopt('m::');

Ursache
Das setzen der Variable $isShellDisabled auf true führt dazu, dass bestimmte Shell-Befehle nicht ausgeführt werden. Anscheinend gibt es bei manchen Hostern Probleme mit diesen Befehlen, was dann dazu führt, dass die Ausführung des Crons abgebrochen wird. Wir haben festgestellt, dass dieses Problem auch bei vielen anderen Magento Shops auftritt. In unserem Fall hat diese Lösung geholfen. Falls Sie ebenfalls derlei Probleme haben, raten wir Ihnen diesen Workaround auszuprobieren. Wir wünschen Ihnen viel Erfolg !

Lesen Sie auch:

Achtung: Neue Sicherheitslücken in Magento Wie am Dienstag, dem 16. April 2015, bekannt wurde, gibt es neue Sicherheitslücken in der beliebten Shop-Software Magento. Es handelt sich hier um sogenannte remote code execution exploits, welche Angreifer dazu befähigen, Schadcode auf Ihrem Webserv...
Magento 2 – Alle Neuerungen im Überblick Am 17. November wurde Version 2 der erfolgreichen Shopsoftware Magento offiziell vorgestellt. Mit der Magento Enterprise Edition 2.0 und der Magento Community Edition 2.0 steht die neue Version weiterhin in zwei Varianten für Endnutzer bereit und ka...
Magento Tutorial: Zahlungsart nur für das Backend ... Das beliebte Shopsystem Magento bietet die Möglichkeit, Bestellungen auch manuell im Backend aufzugeben. Diese Funktion ist besonders für Unternehmen geeignet, die Bestellungen auch per Telefon aufnehmen. Möchte man dafür eine extra Zahlungsart nutze...
Magento Sicherheits Updates einspielen/installiere... Möchten Sie Sicherheitsupdates für einen Magento Shop installieren und kommen nicht weiter? Haben Sie Probleme bei der Installation oder Fragen zum Patch-Vorgang? Wir zeigen Ihnen wie Sie Magento Patches mit und ohne SSH Zugang, aber auch im Rahmen e...