Crontab et execution php

oyer -  
k_rom Messages postés 142 Statut Membre -
Bonjour,

je voulais savoir si il était possible de lancé une page php (envoie de mail) avec crontab.
Sachant que ma page se fermeras automatiquement au bout de 5mn.

merci de vos reponses

6 réponses

k_rom Messages postés 142 Statut Membre 13
 
je ne sais pas si c'est toujours d'actualité, en tout cas voici comment nous exécutons du PHP à parti de cron:

# m h  dom mon dow   command

15 6 * * * (php5 /var/www/INTERNE/crons/stats_parssing_logs.php)
30 6 * * * (php5 /var/www/INTERNE/crons/marquage_visite_aco.php)
8
[Dal] Messages postés 6373 Statut Contributeur 1 106
 
Bonsoir Oyer,

J'ai le regret de te dire que je ne comprend rien à ta question :P

1.

Si j'essaye de deviner ce que tu veux et que je présume que c'est exécuter un script php que tu as en local sur ton ordinateur, et ce à partir de la ligne de commande, tu peux le faire avec le programme de ligne de commande php, comme çà :

php -f fichier.php

Consulte "man php".

S'il te faut des arguments à la ligne de commande, ajoutes les et récupères les avec les variables prédéfinies argv et argc (cf. http://fr2.php.net/reserved.variables).

Le fait que la page se ferme automatiquement ne donnera rien. C'est hors sujet car ton fichier php n'est pas exécuté dans un browser.

2.

Il y a des moyens plus orthodoxes de programmer des scripts destinés à la ligne de commande que de passer par PHP (bash, Perl par exemple).

3.

Si ce n'est pas ce que tu veux faire, exprime ton problème plus clairement s'il te plait.


Dal
0
oyer
 
:), ok je vais tenter une explication.

j'ai un fichier php qui lance des mail (si on peut dire ça comme ça) pour ma newletter mensuelle.
Et je voulais faire une tache pour l'executer genre une fois par mois, le premier samedi du mois par exemple.

Voila c tout c tres succin, mais je pense que tu as repondu a une part de mon interrogation sur le sujet.
Puisque que le fichier ne se lance pas dans un browser, c dont cela que j'avais peur. Pas de browser pas d'execution
DOnc le fait de ne pas avoir de browser n'empeche pas l'execution de mon fichier ?
0
[Dal] Messages postés 6373 Statut Contributeur 1 106
 
oyer,

PHP en ligne de commande va lancer les commandes PHP (donc tes commandes qui adressent un e-mail) et sortir *à l'écran* (standard output) le html et javascript produit par ton script PHP.

L'écran (en fait standard output) n'étant pas assez intelligent pour comprendre le javascript (je suppose que ta fermeture de page passe par une programmation javascript), il ne se passera rien de particulier.

Pour éviter de polluer les logs de cron avec les sorties de ton script PHP, une fois que tu as testé son bon fonctionnement, ajoute en fin de ligne de ton crontab :

 > /dev/null 2>&1



Dal

PS : j'ai réussi à deviner !!! Chuis trop fort moi des fois ! :D ;) :P
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
oyer
 
ok merci pour l'info, à tester !!!
effectivement je passe pas du javascript pour ma fermeture de fenetre mais c'etais dans la cas ou elle s'execute dans un browser.

Mais pourquoi me parles tu de PHP en ligne de commande ?
0
[Dal] Messages postés 6373 Statut Contributeur 1 106
 
Parce que l'exécutable "php" qui se trouve sur ton ordinateur (chez moi il se trouve là /usr/local/bin/php) est une version ligne de commande de php.

Extrait de "man php" :

PHP(1) Scripting Language PHP(1)



NAME
php PHP Command Line Interface 'CLI'

SYNOPSIS
php [options] [ -f ] file [[--] args...]

php [options] -r code [[--] args...]

php [options] -- [ args...]


DESCRIPTION
PHP is a widely-used general-purpose scripting language that is espe-
cially suited for Web development and can be embedded into HTML. This
is the command line interface that enables you to the following:


En bref, c'est une version utilisable en ligne de commande des modules Apache php. Tu ne peux exécuter ces derniers que si Apache fonctionne. Avec PHP en ligne de commande, tu te passes de Apache.


Dal
0