Crontab execute la moitié d'un srcipt php

begermis2011 Messages postés 3 Statut Membre -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

g veux executer un script via crontab ( * * * * /var/script.sh), ce qui fonctionne bien.
notons que srcipt.sh contient script.php et le problème est que contrab execute la première requête du script, toute la suite du code n'est plus executé . alors que l'execution directe du code (./script.php) marche correctement en console.
Je recois aussi un message " you have a new mail in /var/spool/mail/berenger"

aidez moi svp, merci

3 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Sans voir le script dans sa totalité ça va être dur de se prononcer... ;-(

    Peut être une histoire de PATH ?
    0
  2. begermis2011 Messages postés 3 Statut Membre
     
    ok, voici script.sh : php /var/www/html/lag_scripts/vasp_old/vasp_periode.php
    et quelques lignes de srcipt.php :
    $link=@mysql_connect('localhost','root','') or die("Erreur de connexion");
    @mysql_select_db('db_divers_stats',$link) or die("Erreur de connexion");

    @mysql_query(" INSERT INTO test (date0) VALUES (NOW()) ");

    $req=@mysql_query(" SELECT * , DATE_FORMAT( datfin, '%d/%m/%Y' ) AS sdatefin FROM vasp_periode WHERE ( (TO_DAYS(datfin)-TO_DAYS(NOW()) <=3) AND (TO_DAYS(datfin)-TO_DAYS(NOW()) >=0) ) AND etat2=1 ");

    // SELECT * FROM vasp_periode WHERE DATEDIFF(datfin,NOW())<= 60 AND DATEDIFF(datfin,NOW())>= 0 AND etat2=1;

    // Idvasp nom_vasp cpt_vasp appli_vasp datdeb datfin nbjour
    $n = 0;
    $n = mysql_num_rows($req);
    //echo "nombre de ligne $n ";
    if ($n>0)
    {
    $k=1;
    while ($row = mysql_fetch_assoc($req))
    { //echo "compteur $k";
    $nom_vasp = trim($row['nom_vasp']);
    $cpt_vasp = trim($row['cpt_vasp']);
    $appli_vasp = trim($row['appli_vasp']);
    $datdeb = trim($row['datdeb']);
    $datfin = trim($row['sdatefin']);
    $short_code1 = trim($row['short_code1']);
    $short_code2 = trim($row['short_code2']);
    ... la suite est un envoi de mail avec les données
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      Et ça bloque où ? A quel moment ?
      0
  3. begermis2011 Messages postés 3 Statut Membre
     
    Et comme je le disais , le code php ne fait que la requête d'insertion; il n'execute pas la seconde requête et ainsi que la suite
    0