Page 1 sur 1

Planificateur de tâches

Posté : 27 juil. 2011, 17:31
par Tranber10
Bonjour,

J'essaie de faire exécuter un script automatiquement par le planificateur de tâches.
Lorsque je saisie l'url dans ie il fonctionne mais pas avec le planificateur dans lequel j'indique l'url de la page où se trouve le script.

Pouvez vous m'aider ?

Voici le code du script :

#!/usr/local/bin/php
<?php

// Variables de la page
$erreur = "";
$rappelabonnement = true;

// Fonctions de la page

// Actions de la page


$querySql = "SELECT DATE
FROM ".$table_rappelabonnement."
WHERE DATE='".date("Y-m-d")."'";
//echo $querySql."<br />";
$result = $bd->sql_query($querySql);
if ($bd->sql_numrows($result)>0)
{
while ($row = $bd->sql_fetchrow($result))
{
$rappelabonnement = false;
}
}

if ($rappelabonnement)
{
$querySql = "SELECT ".$table_clients.".EMAIL, ".$table_clients.".LANGUE
FROM ".$table_abonnement."
JOIN ".$table_clients." ON (".$table_clients.".ID_CLIENT=".$table_abonnement.".ID_CLIENT)
WHERE ".$table_abonnement.".DATE_FIN='".date("Y-m-d",time()+15*24*60*60)."'
ORDER BY EMAIL";
//echo $querySql."<br />";
$result = $bd->sql_query($querySql);
if ($bd->sql_numrows($result)>0)
{
while ($row = $bd->sql_fetchrow($result))
{
// Envoie d'un mail confirmant l'inscription à l'utilisateur
include($rep_par_rapport_racine."lang/".$row["LANGUE"].".inc.php");
include($rep_par_rapport_racine."mail/rappelabonnement.inc.php");

@mail_html($row["EMAIL"], $msgTitle, $msgTxt, $msgHtml, $mailWebmasterAbonnement);
}
}

$querySql = "INSERT INTO ".$table_rappelabonnement." (DATE) VALUES ('".date("Y-m-d")."')";
//echo $querySql."<br />";
$bd->sql_query($querySql);
}
?>

Merci

Re: Planificateur de tâches

Posté : 28 juil. 2011, 02:26
par devlop78
Planificateur ?? Ca me fait penser à Windows ça, donc je doute que l'interpréteur php soit à l'endroit dans lequel tu l'indiques. D'ailleurs, le fait d'utiliser IE ira dans ce sens.

Je ne suis pas sûr que l'on puisse créer un executable aussi simplement sous Windows. Mais tu peux très bien, en connaissant l'adresse de php, mettre dans ton planificateur (ou un .bat) /access/vers/ton/interpreteur/php.exe "fichier.php" et si tu en as pas mal, tu peux rajouter l'executable de l'interpréteur php dans les variables (%PATH je crois) de Windows pour éviter d'entrer le chemin entier.

Bienvenue dans Windows ;)

Re: Planificateur de tâches

Posté : 29 juil. 2011, 15:50
par enneite
Sous windows, tu crées un fichier executer.bat avec les 2 lignes :

Code : Tout sélectionner

@cd c:\Program Files\php @php.exe -q c:\repertoire\fichier.php %1 %2 %3 %4
explications :

ligne 1 : tu te places dans le répertoire de PHP (optionnel si ce chemin fait parti du path de tes variables d'environnement)
ligne 2 : tu demandes à php d'executer le fichier (qui peut se trouver hors de ton répertoire htdocs)

Ensuite tu créée ta tache planifiée tu lui demande d'éxecuter le .bat

En gros ca revient à utiliser PHP en ligne de commande à la place de VB ou PERL

remarque : dans ce cas de figure, cela ne sert à rien d'utiliser les variables relatives au serveur($_GET,$_POST, etc...)