Jump to content

Edit History

Eolia

Eolia

Voici la solution qui fonctionne et vous permet d'utiliser le module natif.

Allez dans le module cronJob de Prestashop et rentrez vos urls

Choisissez le mode avancé et copiez l'adresse de l'url.

Créez un fichier appelé "cron.php" à la racine de l'admin de votre shop

Dans celui-ci vous mettez:

    <?php /* 
    ** Changez cette variable en true ou false pour que le cron
    ** affiche quelque chose - ceci apparaît dans les log de la 
    ** console
    */
    $verbose = true;
    
    /*
    ** Remplacez l'url http ou https://.... avec celle présente
    ** sur l'écran de configuration du module cronjobs
    ** après avoir activé le mode avancé
    */
    $cronjob_url = 'https://www.votre_site/adminXXXX/index.php?controller=AdminCronJobs&token=a0c6f12c14a4a96b3937e7fda7182ebe';
    
    /**************************************
    ** Ne rien modifier après cette ligne **
    ***************************************/
    error_reporting(E_ALL);
    $break_line = (php_sapi_name() == "cli") ? PHP_EOL : '<br/>
';
    $output = $verbose ? $break_line.'Cron Report of '.date('c').$break_line.$break_line : ''; 
    
    $cronjob_url = trim($cronjob_url);
    $ch = curl_init($cronjob_url);
    curl_setopt($ch, CURLOPT_URL, $cronjob_url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:53.0) Gecko/20100101 Firefox/53.0');
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    
    $data = curl_exec($ch);
    
    if ($verbose) {
        if($data)
            $output .= 'Ok'.$break_line.$data;
        else 
            $output .= 'Failed';
    }
    curl_close($ch);
    
    die($output);

en remplaçant évidemment 'http://www.votre_sit...937e7fda7182ebe' par l'url indiquée dans le module.

Mettez toutes vos tâches en exécution: réglez les heures, jours, correspondant à leur usage.

Dans votre panel OVH, tâches planifiées créez une nouvelle tâche:

Adresse (dépend de la structure de votre ftp) :

Si votre boutique est dans www, www/votre_repertoire_admin/cron.php

Si vous êtes dans un sous-répertoire, www/votre_répertoire_prestashop/votre_repertoire_admin/cron.php

Si vous êtes dans un répertoire adjacent à www, votre_répertoire_prestashop/votre_repertoire_admin/cron.php

Nom de la tache: cron Prestashop

Version php : 5.4

Log par email (si vous en voulez)

Fréquence: Tous les jours et toutes les heures du jour

Validez

Votre script sera exécuté toutes les heures et déclenchera les tâches planifiées dans cronjobs.

Vous pouvez tester en mode http en allant à l'url: http://votre_boutique.com/adminXXX/cron.php

Si votre site est en https, modifiez l'url en conséquence.

 

Passez le paramètre $verbose à true comme expliqué en commentaire et dans votre OVH cochez "Log par email" (si vous en voulez)

Dans votre module cron vous avez également la date et l'heure de la dernière exécution des scripts.

×
×
  • Create New...