Problème de Cron

10 réponses
AuteurMessage

ddpetit |
Modérateur

Photo de ddpetit

Inscrit le : 03/05/2006

# Le 09/08/2010 à 10:08

J'ai un cron qui tourne sur le serveur qui est censé récupérer les stats des régies publicitaires à raison d'une fois par heure. Or aucune vente ne remonte, le script en lui même fonctionne puisque si je l'exécute en ligne de commande cela fonctionne (php5 /path/regies.php).

J'ai regardé également mes logs, qui m'indiquent que le script est bien executé chaque heure. La commande executée par cron : php5 /path/regies.php

Je pense que le soucis vient de l'intérieur du script, voici en gros ce qui ce cache dans mon code PHP (regies.php) :


system("php5 /path/".$regie."_get.php ".$date);


Une idée ?

Loccasion.com - Vente de voitures d'occasionOuvrir dans une nouvelle fenetre - Mandataire AutoOuvrir dans une nouvelle fenetre

allogarage | Nicolas
Modérateur

Photo de allogarage

Inscrit le : 14/10/2008

# Le 09/08/2010 à 10:15

Ce serait pas un problème de path?
la commande php5 est trouvée en ligne de commande parce que le répertoire ou elle se trouve est dans le PATH
pour que ca marche il faut peut etre remplacer php5 en ajoutant le PATH complet.

Sur mon dédié c'est /usr/local/bin/php5

pour savoir le path : which php5

Guide comparatif des garages automobilesOuvrir dans une nouvelle fenetre | Guide comparatif des garages motoOuvrir dans une nouvelle fenetre | Annuaire auto motoOuvrir dans une nouvelle fenetre

abravanel666 | Sylvain
Modérateur

 

Inscrit le : 19/07/2009

# Le 09/08/2010 à 10:48

passe par apache en faisant un wget ton fichier php
a la limite tu verras les appels dans les logs apaches

http://www.magasins-usine.infoOuvrir dans une nouvelle fenetre http://www.shoppingactu.comOuvrir dans une nouvelle fenetre

ddpetit | Damien
Modérateur

Photo de ddpetit

Inscrit le : 03/05/2006

# Le 09/08/2010 à 10:51

Salut Nicolas,

J'ai vérifié le path de PHP, et j'ai modifié donc ma commande comme tu me l'as indiqué, mais cela ne change rien.

Je vais m'envoyer un mail lorsque mon regie_get.php est effectué pour voir déjà si le problème vient de son execution ou non.

Loccasion.com - Vente de voitures d'occasionOuvrir dans une nouvelle fenetre - Mandataire AutoOuvrir dans une nouvelle fenetre

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 09/08/2010 à 10:55

Normalement quand le script affiche un truc (ou génère une erreur), cron envoie un email au compte unix associé. Selon ta configuration et les serveurs, ça se situerait dans /var/mail/{login}
A moins que tu ais redirigé tous les messages vers /dev/null, tu devrais y trouver des messages d'erreur concernant ton problème.

daevel : infogérance et conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

krucial | Jean Christophe
Administrateur

Photo de krucial

Inscrit le : 09/03/2005

# Le 09/08/2010 à 10:57

system("php5 /path/".$regie."_get.php ".$date." > /path/script_".$regie.".log &2>1");

Si ca bugge, tu le verras dans script[ID DE REGIE]].log

JC - Mes sitesOuvrir dans une nouvelle fenetre | Affiliation devis travauxOuvrir dans une nouvelle fenetre | Cotes voitures anciennesOuvrir dans une nouvelle fenetre

ddpetit | Damien
Modérateur

Photo de ddpetit

Inscrit le : 03/05/2006

# Le 09/08/2010 à 11:02

Merci, j'essaie de regarder. JC le &2 > 1 ça correspond à quoi ? Je ne comprends pas tu rediriges quoi vers quel endroit ...

Loccasion.com - Vente de voitures d'occasionOuvrir dans une nouvelle fenetre - Mandataire AutoOuvrir dans une nouvelle fenetre

ddpetit | Damien
Modérateur

Photo de ddpetit

Inscrit le : 03/05/2006

# Le 09/08/2010 à 11:19

C'est bon le changement de path pour PHP5 + la même pour le Cron et ça fonctionne. Merci ! (Par contre JC je veux bien ton explication )

Loccasion.com - Vente de voitures d'occasionOuvrir dans une nouvelle fenetre - Mandataire AutoOuvrir dans une nouvelle fenetre

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 09/08/2010 à 11:24

Il redirige les flux de sortie & d'erreur vers un fichier de log, plutôt que de laisser cron les envoyer par email. cf mon message au dessus.

daevel : infogérance et conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

Liliandev | Lilian
Membre

Photo de Liliandev

Inscrit le : 06/03/2009

# Le 10/08/2010 à 17:50

Dans les crons, il faut pas hésiter non plus à préciser le path complet de l'executable PHP, j'ai déjà eu des tours ...

Lilian | High-TechOuvrir dans une nouvelle fenetre - Communauté WebmasterOuvrir dans une nouvelle fenetre - Communauté InformatiqueOuvrir dans une nouvelle fenetre - Comparateur de prixOuvrir dans une nouvelle fenetre

ddpetit | Damien
Modérateur

Photo de ddpetit

Inscrit le : 03/05/2006

# Le 10/08/2010 à 18:03

Une autre possibilité : pour le cron donner uniquement le path + script /path/script.php
Et dans le fichier php, mettre en première ligne : le path complet de l'executable PHP comme suit : #!/usr/local/php5/bin/php

Loccasion.com - Vente de voitures d'occasionOuvrir dans une nouvelle fenetre - Mandataire AutoOuvrir dans une nouvelle fenetre

Répondre

Vous ne pouvez pas participer au forum, car votre inscription n'a pas été validée. Pour vous faire valider en tant que Membre, cliquez ici.

© MHN - Tous droits réservés | CNIL N°844440 | 23/11/2024 22:49:42 | Généré en 10.61ms | Contacts | Mentions légales |