IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Cron job impossible - Erreur syntax error, unexpected T_IF


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Points : 44
    Points
    44
    Par défaut Cron job impossible - Erreur syntax error, unexpected T_IF
    Bonjour,

    Je découvre les fonctions de taches planifiées avec un fichier php à la racine de mon répertoire web.
    1/ J'ai essayé avec le service web d'ovh (planificateur de tâche) : ne fonctionne pas.
    2/ J'essaye avec un service web http (webcron.org) : il m'indique que le fichier ne peut être trouvé ! et pourtant il se trouve bien sur le répertoire web; à sa racine.

    J'ai certainement loupé quelque chose, mais où ?

    Voici le log retour suite au test fait sur webcron.org


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    cronjob: http://www.monsite.fr/vemodtrigger.php?cron=1
    Executé à  : lundi 17 août 2009 21:43:54
    Time-out: 0,6 sec (max. 30 sec)
    Credits: 0,0001
     
     
    Statut: 404 - Not Found
        Le fichier ne peut pas etre trouvé
    Entête
    HTTP/1.1 404 Composant non trouvé
    Date: Mon, 17 Aug 2009 19:43:50 GMT
    Server: Apache/2.2.X (OVH)
    X-Powered-By: PHP/5.2.10
    P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
    Expires: Mon, 1 Jan 2001 00:00:00 GMT
    Cache-Cont
    Extrait sur 255 caracteres
     
    Contenu
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-gb" lang="en-gb" d
    Extrait sur 255 caracteres
    Voici le fichier .php cron en question appelé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    <?php
     
    if (@$_REQUEST['cron'] || @$_REQUEST['throttle'])
     
    {
     
        if (!file_exists('index.php')) die('index.php not found. This file must be installed in the root directory');
     
        ob_start();
     
        @include('index.php');
     
        ob_end_clean();
     
        if (!file_exists('components/com_vemod_news_mailer/vemod_news_mailer.php')) die('components/com_vemod_news_mailer/vemod_news_mailer.php not found. Is Vemod News Mailer installed?');
     
        include('components/com_vemod_news_mailer/vemod_news_mailer.php');
     
    }
     
    ?>
    Merci bcp pour vos pistes

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Points : 44
    Points
    44
    Par défaut
    bonjour,

    En enlevant l'argument cron=1 , et en passant cet argument dans le fichier comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
    <?php
    $_REQUEST['cron']= 1
    
    if (@$_REQUEST['cron'] || @$_REQUEST['throttle'])
    
    {
    
        if (!file_exists('index.php')) die('index.php not found. This file must be installed in the root directory');
    
        ob_start();
    
        @include('index.php');
    
        ob_end_clean();
    
        if (!file_exists('components/com_vemod_news_mailer/vemod_news_mailer.php')) die('components/com_vemod_news_mailer/vemod_news_mailer.php not found. Is Vemod News Mailer installed?');
    
        include('components/com_vemod_news_mailer/vemod_news_mailer.php');
    
    }
    
    ?>
    le fichier est trouvé cette fois ci, mais une erreur apparaît :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    Parse error: syntax error, unexpected T_IF in /cheminServeur/monEspaceWeb/www/monRepertoire/vemodtrigger.php on line 4
    Pour mémoire voici la ligne 4 est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    
    if (@$_REQUEST['cron'] || @$_REQUEST['throttle'])
    Donc, une erreur de syntaxe quelque part mais où ?
    Merci pour les pistes...

  3. #3
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonjour

    A la ligne que tu as ajouté, il manque le point virgule de fin de ligne...

    http://php.developpez.com/faq/?page=syntaxe
    Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez moi.
    débutez avec les CSS
    Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
    Votez pour les messages qui vous ont aidés...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Points : 44
    Points
    44
    Par défaut
    Merci pour ton message. Mais malgré l'erreur de syntaxe, lorsque je lance manuellement la tâche, rien ne se passe, plus de message d'erreur, tout simplement rien du tout, je suis renvoyé sur la page d'accueil du site !

    Je pense que le composant que j'utilise attend de toute façon l'argument "cron=1" dans l'url. Il faudrait que je puisse modifier cette appel dans le script lui-même .

    Pour info le site de l'auteur et du script :
    http://www.musiker.nu/objectstudio/newsmailer/index.php

    Voici extrait, les explications du développeur de ce script :

    To trigger mails and throttle chunks you can use wget or lynx with the url: http://www.monsite.fr/vemodtrigger.php?cron=1
    This example will look for new mails every second minute of each hour and send them (if any): 2 * * * * /usr/bin/wget -q http://www.monsite.fr/vemodtrigger.php?cron=1

    To trigger only throttle chunks you can use the command wget or lynx with the url: http://www.monsite.fr/vemodtrigger.php?throttle=1
    This example will send throttle chunks every 5 minutes (if any): */5 * * * * /usr/bin/wget -q http://www.monsite.fr/vemodtrigger.php?throttle=1
    This way you can preview your mails (from the frontend) and send them manually with the "Send mails" button while crontab is taking care of sending the throttle chunks
    Merci pour les pistes

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Points : 44
    Points
    44
    Par défaut
    Bon il s'agissait d'un beugue inhérent au CMS joomla!
    Le composant Vemod newsletter de supporte pas l'url rewriting. J'ai trouvé la réponse sur le forum anglais du site du developpeur du script (plus supporté).

    Merci pour les contributions.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. syntax error unexpected T_IF
    Par bug-php dans le forum Langage
    Réponses: 1
    Dernier message: 17/07/2011, 17h34
  2. Réponses: 4
    Dernier message: 01/02/2011, 17h32
  3. Réponses: 10
    Dernier message: 08/09/2009, 09h14
  4. [MySQL] Code PHP et erreur serveur Free : "Parse error: syntax error, unexpected '{' "
    Par mauriiice dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 31/05/2009, 20h47
  5. erreur : syntax error near unexpected token
    Par lapinou8430 dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 28/04/2009, 00h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo