OVH Community, votre nouvel espace communautaire.

cronjob


johnny57
02/03/2015, 07h34
Autre truc, je viens de m’apercevoir que mes scripts ne fonctionnent plus en les lançant avec php -f alors qu'avec wget aucun soucis. Je ne savais pas qu'il pouvait y avoir une différence d'exécution. Pourtant les scripts en question n'ont aucune variable passé en get ou même poste, juste le fichier à appeler.

Une idée ?

johnny57
27/02/2015, 13h27
J'ai fais les modifs dans tous mes scripts. J'ai un soucis par contre. Quand je passe des variables si je maintiens /dev/null à la fin /dev/null devient inefficace, tu es certain que je ne peux pas le mettre devant ?

johnny57
19/02/2015, 12h49
ok merci, je sais ce qu'il me reste à faire dans ce cas ^^'

sich
19/02/2015, 09h18
le /dev/null tu peux le laisser à la fin, marchera pas sinon.
Et pour tes variables avec argv faut les mettre dans le bon ordre vi.
Sinon le -f je ne le mets jamais et ça marche très bien.

Avec argv n'oublie pas que tu récupères la valeur de la variable par rapport à l'ordre dans lequel elle est donnée, sinon oui c'est bien ça, ça marche très bien.

johnny57
19/02/2015, 08h31
Merci pour ta réponse.

donc si je comprends bien, il faut que je fasse ça :

php -f /dev/null /home/mondomaine/www/monscript.php variable1 variable2

etc... Chaque variable après le chemin vers le script à chaque fois espacé d'un espace entre chaques variables ? Et donc, du coup, je dois adapter le script pour récupérer la variable comme ça :

Je remplace :

if (isset($_GET['variable']))
{
$variable = $_GET['variable'];
}
par :

if (isset($_GET['variable']))
{
$variable = $_GET['variable'];
}
elseif (isset($argv[1]))
{
$variable = $argv[1];
}
et donc comme ça pour chaque variable, c'est ça ?

sich
19/02/2015, 07h03
Tu as pleins de solutions, mais la plus simple reste encore $argv, voir ici : http://php.net/manual/fr/reserved.variables.argv.php
Sinon tu as getopt aussi : http://php.net/manual/fr/function.getopt.php

johnny57
19/02/2015, 06h25
Bonjour,

Avant j'utilisait wget -q -O /dev/null --tries=1 --timeout=600 http://www.mondomaine.tld/monscript....autre_variable pour lancer mes scripts php nécessitant une activation régulière via cronjob.

Je voudrai utiliser en lieu et place php -f /home/mondomaine/www/monscript.php /dev/null
Le soucis c'est quand le script nécessite la transmission d'une variable comme dans l'exemple avec wget je ne peux pas ajouter après monscript.php de ?mavariable

Comment puis je faire ?

Détail en passant, j'ai un de mes scripts qui malgré /dev/null à la fin m'envoi un mail avec le résultat de l'execution du script alors qu'un autre ne le fait plus depuis l'ajout de /dev/null. Une idée sur ce point aussi ?


Merci d'avance pour votre aide.