executer fichier php en ligne de commande

WRInaute discret
sLT

VOile je sais comment exécuté un fichier php en ligne, mais pour s'exécute je dois garder la connection ssh active... Comment faire pour que cette connexion puisse se déconnecté sans interrompre le programme php ?

Jai tenté avec une tache cron mais je passe par webmin, et je n'arrive pas à exécuter la tache dans le bon repertoire...

Merci de votr aide !
 
WRInaute discret
merci de vos réponses !
Dans cron sous l'utilisateur www-data lorsque je lui demande d'exécuter un fichier php il me retourne du html alors que ce fichier est prévu pour etre utiliser en ligne de commande ainsi que via un explorateur... Je px lexécuté correctement que si sous ssh je me connect sous l'utilisateur vu2011

Je précise que j'utilise une distri Debian + VHCS2 + Webmin

Vu2011 correspond à l'utilisateur d'un des sites web hébergé pas vhcs.
 
WRInaute passionné
tu peux poster une partie des sources php pour que je comprenne mieux ton prob

stp

rog
 
WRInaute discret
Merci à tous pour votre aide !
Mais jai tjrs un problème avec l'utilisation de cron.

Clairement je souhaite exécuté un fichier php contenu dans le répertoire :

/var/www/virtual/humour-du-web.fr/htdocs/gestion-moteur/

et qui se nomme : spider.php

Afin d'automatisé l'indexation des pages je souhaite utiliser cron..
Via webmin pour une nouvella tache cron on me demande l'utilisateur, que dois-je mettre root ? www-data ? mysql?

Pour finir cette commande est elle ok ?
php /var/www/virtual/humour-du-web.fr/htdocs/gestion-moteur/spider.php -all ?

Car selon l'utilisateur que j'utilise lerreur varie

- Impossible de trouver le fichier
- le pages spider.php est exécuté mais me renvoi du html
- ou soit le script n'arrive pas à retrouver les fichiers qui sont inclus.


La seul façon pour moi d'exécuter cette commande, est de me connecté(ssh) avec l'utilisateur "vu2011" relatif à l'espace web attribué aux site.Ou là et seulement là la commande s'exécute parfaitement...

Encore merci pour votre aide !
 
WRInaute passionné
bah lance la commande par l'utilisateur vu2011

perso je passe toujours par des shells

rog
 
WRInaute discret
Meme avec l'utilisateur vu2011 le cron ne fonctionne pas.... pardon pôur mon ignorance mais ce koi un shell ?
 
WRInaute passionné
shell est un langage interprété qui est installé par défaut sur linux

tu pourrais aussi verifier le fichier cron une fois

crontab -e -u vu2011

et verifies que la commande est bien enregistrée

rog
 
WRInaute impliqué
Pour rendre ton script php exécutable simplement:
1- mettre en première ligne #! suivi du chemin vers l'interprêteur php
Exemple :

Code:
whereis php
> /usr/local/bin/php

J'ouvre mon fichier php, je mets en première ligne

Code:
#!/usr/local/bin/php -q

L'option -q supprime les entêtes http

2- Je change les droits du script pour lui donner un droit d'exécution

chmod +x monscript.php

3- Je peux lancer mon script php en ligne de commande, je teste :

Code:
./monscript.php

4- J'installe la crontab :

Code:
crontab -e

Je donne la ligne de commande suivante

Code:
MM HH DD MM W /home/utilisateur/monscript.php

MM : minutes
HH : heures
DD : jour du mois
MM : mois de l'année (numérique)
W : jour de la semaine (de 0 à 7)

Si ton script renvoi de l'HTML, c'est que tu effectue une sortie en HTML, ou bien que tu utilises une classe ou un compossant qui le fait. Ca n'a rien à voir avec PHP, au pire, il renvoit des entête HTTP, mais pas de l'HTML, que tu peux supprimer avec l'option -q.
 
Discussions similaires
Haut