executer fichier php en ligne de commande

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

millowas
WRInaute discret
WRInaute discret
 
Messages: 54
Inscription: Dim Jan 22, 2006 23:54

executer fichier php en ligne de commande

Message le Ven Oct 06, 2006 11:44

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 !


tom_pascal
WRInaute impliqué
WRInaute impliqué
 
Messages: 278
Inscription: Lun Nov 17, 2003 13:58

Message le Ven Oct 06, 2006 12:00

Bonjour,

nohup ?


rog
WRInaute accro
WRInaute accro
 
Messages: 1662
Inscription: Jeu Sep 21, 2006 2:32

Message le Ven Oct 06, 2006 12:37

faut mettre le chemin absolu

sinon je pense qu'un shell ferait l'affaire

rog

millowas
WRInaute discret
WRInaute discret
 
Messages: 54
Inscription: Dim Jan 22, 2006 23:54

Message le Ven Oct 06, 2006 13:42

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.


rog
WRInaute accro
WRInaute accro
 
Messages: 1662
Inscription: Jeu Sep 21, 2006 2:32

Message le Ven Oct 06, 2006 13:52

tu peux poster une partie des sources php pour que je comprenne mieux ton prob

stp

rog


Bourriquet
WRInaute passionné
WRInaute passionné
 
Messages: 635
Inscription: Lun Sep 19, 2005 22:10

Message le Ven Oct 06, 2006 16:54

Tu dois utiliser le programme screen.

Pour enlever les entêtes http, tu peux lancer ton script avec l'option" -q" de php.

Plus d'infos sur ce topic : http://www.webrankinfo.com/forums/viewtopic_47808.htm

millowas
WRInaute discret
WRInaute discret
 
Messages: 54
Inscription: Dim Jan 22, 2006 23:54

Message le Sam Oct 07, 2006 1:46

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 !


rog
WRInaute accro
WRInaute accro
 
Messages: 1662
Inscription: Jeu Sep 21, 2006 2:32

Message le Sam Oct 07, 2006 6:36

bah lance la commande par l'utilisateur vu2011

perso je passe toujours par des shells

rog

millowas
WRInaute discret
WRInaute discret
 
Messages: 54
Inscription: Dim Jan 22, 2006 23:54

Message le Sam Oct 07, 2006 12:49

Meme avec l'utilisateur vu2011 le cron ne fonctionne pas.... pardon pôur mon ignorance mais ce koi un shell ?


rog
WRInaute accro
WRInaute accro
 
Messages: 1662
Inscription: Jeu Sep 21, 2006 2:32

Message le Sam Oct 07, 2006 13:53

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


Bourriquet
WRInaute passionné
WRInaute passionné
 
Messages: 635
Inscription: Lun Sep 19, 2005 22:10

Message le Sam Oct 07, 2006 15:28

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

Code: Tout sélectionner
whereis php
> /usr/local/bin/php


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

Code: Tout sélectionner
#!/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: Tout sélectionner
./monscript.php


4- J'installe la crontab :

Code: Tout sélectionner
crontab -e


Je donne la ligne de commande suivante

Code: Tout sélectionner
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.


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités