Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications
Applications Questions sur l'utilisation d'applications, du shell, et des interfaces graphiques (KDE, Gnome, XFCE... )
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/11/2007, 22h37   #1
Invité de passage
 
Inscription : mars 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 11
Points : 1
Points : 1
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 :
   */5 * * * * cd /var/www/monsite/; /usr/bin/php /var/www/monsite/cron_minutly.php
(which php = /usr/bin/php)

OU

Code :
*/2 * * * * /bin/sh /var/www/monsite/cron_minutly.sh
contenu de cron_minutly.sh :
Code :
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.
Shenron114 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2007, 00h06   #2
Membre actif
 
Inscription : juin 2003
Messages : 270
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 270
Points : 170
Points : 170
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 :
   */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 :
*/2 * * * * /bin/sh /var/www/monsite/cron_minutly.sh
contenu de cron_minutly.sh :

Code :
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 :
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 ?
__________________
www.callofduty5waw.fr
drinkmilk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2007, 09h11   #3
Invité de passage
 
Inscription : mars 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 11
Points : 1
Points : 1
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 ?
Shenron114 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2007, 11h08   #4
Membre actif
 
Inscription : juin 2003
Messages : 270
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 270
Points : 170
Points : 170
Le probleme est plus lie a ton script php alors, non ?

Citation:
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 :
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)
__________________
www.callofduty5waw.fr
drinkmilk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2007, 11h27   #5
Invité de passage
 
Inscription : mars 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 11
Points : 1
Points : 1
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 :

Citation:
Fatal error: Call to undefined function: mysql_query() in /var/www/monsite/cron_minutly.php on line 14
Shenron114 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2007, 13h17   #6
Membre actif
 
Inscription : juin 2003
Messages : 270
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 270
Points : 170
Points : 170
Citation:
Envoyé par Shenron114 Voir le message
mais ce qui est étonnant c'est cette erreur, la derniere, apres les warning des includes :
Code :
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.
__________________
www.callofduty5waw.fr
drinkmilk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2007, 14h25   #7
Invité de passage
 
Inscription : mars 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 11
Points : 1
Points : 1
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?)
Shenron114 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h48.


 
 
 
 
Partenaires

Hébergement Web