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

Applications et environnements graphiques Discussion :

Crontab et PHP


Sujet :

Applications et environnements graphiques

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 11
    Points : 6
    Points
    6
    Par défaut Crontab et PHP
    Bonsoir à tous,
    Après de longues heures de recherches, je me résigne à poster, je n'en peut plus...
    Je possède un serveur sous Debian, et je voudrais lancer un script php via crontab... J'ai déjà un script en shell qui fonctionne très bien, mais pas moyen avec php.

    Ce que j'ai dans crontab :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       */5 * * * * cd /var/www/monsite/; /usr/bin/php /var/www/monsite/cron_minutly.php
    (which php = /usr/bin/php)

    OU

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    */2 * * * * /bin/sh /var/www/monsite/cron_minutly.sh
    contenu de cron_minutly.sh :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #!bin/sh
     
    cd /var/www/monsite/
    php -q cron_minutly.php
    Et je n'ai jamais d'erreur...

    J'ai aussi essayé de lancer le script manuellement, pour voir si il fonctionnait bien, via cette commande :
    php /var/www/monsite/cron_minutly.php
    Et là encore... aucune erreur...

    Mon script php fonctionne bien quand je le lance depuis mon navigateur...

    Quelqu'un aurait-il une idée pour m'aider? Merci d'avance.

  2. #2
    Membre actif
    Inscrit en
    Juin 2003
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 270
    Points : 216
    Points
    216
    Par défaut
    Salut,

    Citation Envoyé par Shenron114 Voir le message
    Bonsoir à tous,
    Après de longues heures de recherches, je me résigne à poster, je n'en peut plus...
    Je possède un serveur sous Debian, et je voudrais lancer un script php via crontab... J'ai déjà un script en shell qui fonctionne très bien, mais pas moyen avec php.

    Ce que j'ai dans crontab :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       */5 * * * * cd /var/www/monsite/; /usr/bin/php /var/www/monsite/cron_minutly.php
    (which php = /usr/bin/php)
    je sais pas si c'est ca qui gene, mais pas besoin du "cd /var/www/monsite/;"

    Citation Envoyé par Shenron114 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    */2 * * * * /bin/sh /var/www/monsite/cron_minutly.sh
    contenu de cron_minutly.sh :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #!bin/sh
     
    cd /var/www/monsite/
    php -q cron_minutly.php
    Et je n'ai jamais d'erreur...
    c'est une erreur de copie ou t'as oublie le / devant bin ? (la 1ere ligne doit etre #!/bin/sh ). Le plus sur, c'est de le faire comme tu l'as fait pour cron (independant de la variable PATH):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #!/bin/sh
     
    /usr/bin/php /var/www/monsite/cron_minutly.php
    Citation Envoyé par Shenron114 Voir le message
    J'ai aussi essayé de lancer le script manuellement, pour voir si il fonctionnait bien, via cette commande :
    php /var/www/monsite/cron_minutly.php
    Et là encore... aucune erreur...

    Mon script php fonctionne bien quand je le lance depuis mon navigateur...

    Quelqu'un aurait-il une idée pour m'aider? Merci d'avance.
    C'est quoi le probleme au juste, ton script n'est pas du tout execute ? Tu veux qu'il soit execute toutes les 5 min, chaque min ou toutes les 2 min ? T'as essaye de mettre des "echo" dans ton script pour debugger ? Pas de message non plus dans le syslog ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    En effet, petite erreur de frappe ^^ Mais cela ne change rien...
    Je voudrais que le script soit exécuté toutes les 5min, mais cela ne change pas grand chose dans mon probleme je pense...
    J'ai essayé de mettre exprès une erreur dans mon scipt php, et lorsque j'exécute
    /var/www/monsite/cron_minutly.sh, il me met bien une erreur...
    J'ai bien mis le chemin absolu des pages appelées en include... En fait je pense que ce sont les requètes mysql qui ne s'effectuent pas, mais je n'ai aucune erreur...

    Si je fais des echo, où apparaitront-ils ?

  4. #4
    Membre actif
    Inscrit en
    Juin 2003
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 270
    Points : 216
    Points
    216
    Par défaut
    Le probleme est plus lie a ton script php alors, non ?

    Si je fais des echo, où apparaitront-ils ?
    si c'est execute depuis cron ? Dans le syslog je pense. Mais tu peux forcer l'ecriture dans un autre fichier en faisant (par ex):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #!/bin/sh
     
    /usr/bin/php /var/www/monsite/cron_minutly.php 2>&1 >> /tmp/cron_minutly.log
    Si tu n'es pas familie avec ca, le "2>&1" est une redirection de stderr vers stdout. (voir shell input output redirection sur google)

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Merci, j'ai essayé ce que tu as dit...
    J'ai mis un echo au tout début de mon script, je le retrouve bien dans le log...
    j'ai ensuite fait un echo d'une variable qui se trouve dans un fichier appelé en include dans mon script, et là... rien du tout !
    Quand je fais mes includes sans l'adresse absolue des fichiers, je me retrouve avec plein d'erreurs, logique... mais ce qui est étonnant c'est cette erreur, la derniere, apres les warning des includes :

    Fatal error: Call to undefined function: mysql_query() in /var/www/monsite/cron_minutly.php on line 14

  6. #6
    Membre actif
    Inscrit en
    Juin 2003
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 270
    Points : 216
    Points
    216
    Par défaut
    Citation Envoyé par Shenron114 Voir le message
    mais ce qui est étonnant c'est cette erreur, la derniere, apres les warning des includes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Call to undefined function: mysql_query() in /var/www/monsite/cron_minutly.php on line 14
    hmm, ca confirme que tes includes ne sont pas interpretes correctement. Ca passe dans le cadre du forum php.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    A d'accord, merci bien de on aide, je vais essayer de chercher un peu plus sur le sujet avant de poster de nouveau
    (ou si un modérateur passe par là, peut être aurait-il la gentillesse de déplacer ce topic?)

Discussions similaires

  1. Édition crontab par PHP
    Par Sarawyn dans le forum Langage
    Réponses: 2
    Dernier message: 26/02/2010, 15h12
  2. Crontab sous php
    Par gege87270 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 06/02/2008, 15h19
  3. crontab et PHP 4.4.2 (cli)
    Par crazykangourou dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 10
    Dernier message: 22/11/2007, 14h49
  4. Crontab et PHP
    Par M1000 dans le forum Linux
    Réponses: 4
    Dernier message: 26/10/2007, 19h41

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