Magento – Cronjob / Cron.php wird nicht ausgeführt

Nach einem Wechsel von einem 1.5er Magento auf einen 1.9er Magento gab es ein Problem mit dem Cronjob. Beim 1.5er wurde er problemlos (über Jahre) durch den Server nach Aufruf der URL http://www.shopadresse.de/cron.php ausgeführt und auch der AOE Scheduler war zufrieden.

Nun wurde aber auf dem Server zu einem 1.9er Shop gewechselt und der Cronjob wurde nicht mehr ausgeführt. Die URL wurde entsprechend angepasst. Auch bei manuellem Aufruf der cron.php über den Browser passierte nichts und der AOE Scheduler sagte nur, qu'aucun “tâche de battement de coeur” a été trouvé.

Die Lösung war nun die cron.php im Rootverzeichnis zu öffnen und dann die Zeile

$isShellDisabled = true;

hinzuzufügen, Ainsi donc, cela ressemble à:

$disabledFuncs = explode(»,», ini_get('disable_functions'));
$isShellDisabled = is_array($disabledFuncs) ? in_array('shell_exec', $disabledFuncs) : vrai;
$isShellDisabled = true;
$isShellDisabled = (stripos(PHP_OS, 'win') === false) ? $isShellDisabled : vrai;

Anschließend funktionierte der Cronjob wieder einwandfrei.

Es ist jedoch auch möglich die Ausführung der cron.php durch die .htaccess zu unterbinden. Daher am besten vorher mal in diese Datei schauen, ob dort (meist am Ende) Zeilen wie z.B.

###########################################
## Deny access to cron.php
    <Fichiers cron.php>

############################################
## uncomment next lines to enable cron access with base HTTP authorization
## http://httpd.apache.org/docs/2.2/howto/auth.html
##
## Avertissement: .htpasswd file should be placed somewhere not accessible from the web.
## This is so that folks cannot download the password file.
## Par exemple, if your documents are served out of /usr/local/apache/htdocs
## you might want to put the password file(s) in /usr/local/apache/.

        #AuthName "Cron auth"
        #AuthUserFile ../.htpasswd
        #AuthType de base
        #Exiger un utilisateur valide

############################################

        Order allow,Nier
        Refuser de tout

    </Des dossiers>

vorhanden sind.

Cela empêche les requêtes correspondantes d'exécuter cron.php. Vous ne devez pas nécessairement les supprimer complètement, mais vous pouvez ajouter une exception pour votre propre serveur, par exemple.

    <Fichiers RELEASE_NOTES.txt>
        autoriser la commande,Nier
        Autoriser depuis HIER.DIE.SERVER.IP
        refuser de tous
    </Des dossiers>

En combinaison avec le changement dans cron.php ci-dessus, cela a plutôt bien fonctionné.

Mise à jour de 18.10.2017

Ab Apache-Version 2.4 semble au-dessus. ne travaille plus. Nous avons donc réécrit cette partie du .htaccess comme suit:

###########################################
## Deny access to cron.php
<Fichiers cron.php>

############################################
## uncomment next lines to enable cron access with base HTTP authorization
## http://httpd.apache.org/docs/2.2/howto/auth.html
##
## Avertissement: .htpasswd file should be placed somewhere not accessible from the web.
## This is so that folks cannot download the password file.
## Par exemple, if your documents are served out of /usr/local/apache/htdocs
## you might want to put the password file(s) in /usr/local/apache/.

#Exiger un utilisateur valide

############################################

    Exiger que tout soit refusé
    Exiger ip votre.adresse.ip.ici

</Des dossiers>

Cela fonctionne bien. Incidemment, vous ne pouvez écrire que partiellement l'adresse IP. À la place de 127.0.0.1 tu pourrais aussi 127.0 écrire et alors les deux derniers domaines n'auraient pas d'importance.

Utilisé dans la version Magento 1.9 Remarques? Ajouts? Remarques? Volontiers!

Publié par Covos

Depuis 2009 Je travaille intensément avec Magento. J'ai commencé avec la création et l'exploitation des magasins B2C. Cela a été prolongé par mon travail dans le secteur de la logistique. Il en est résulté premiers systèmes de B2E spécialisés. Aujourd'hui, je travaille jour par jour avec B2C passionnant, B2B- et les projets B2E et rapports dans ce blog sur les défis et donner des conseils d'initiés.

Laisser un commentaire

Votre adresse email ne sera pas publié. les champs requis sont indiqués *