|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
![]() ![]() |
Bonjour à tous, je ne sais pas si je suis dans le bon forum, pour émettre ce problème, mais je voudrais qu'un script PHP se lance périodiquement.
Je sais que l'automatisation des tâches se fait avec cron, mais généralement les tâches à lancer sont des commandes ou des exécutables. Comment alors le faire avec un script PHP, qui lui est éxecuter avec un serveur Web Apache? Peux-t-on executer PHP, sans un serveur Web, c'est-à-dire créer un executable de PHP? Merci.
__________________
Un gros problème est la somme de plusieurs petits problèmes. Resolvez chacun des petits problèmes: vous aurez resolu le gros problème! ![]() Mes tutos || Mon blog || Développeurs ivoiriens |
|
00
|
|
|
#2 | |
|
Membre éclairé
![]() Inscription : mai 2008 Messages : 359 ![]() |
Le plus souvent, une version CLI (en ligne de commande) de PHP est installée en même temps que la version pour serveur. Il suffit de l'utiliser alors.
Pour savoir s'il est installé, il suffit d'entrer en ligne de commande: Citation:
|
|
|
|
00
|
|
|
#3 | ||
|
Membre régulier
![]() Inscription : janvier 2004 Messages : 94 ![]() |
Salut,
j'ai un fichier PHP qui est exécuté par cron sur un des serveurs au boulot, et il est lancé comme suit. Dans le cron, j'ai inscrit le fichier suivant : Code :
Sachant bien sur que "/usr/bin/php" est le chemin vers le binaire php, c'est à changer s'il n'est pas à cet emplacement sur ton serveur. Ton script à exécuter peut être n'importe où, donc ceux accessibles par ton serveur web sont aussi susceptibles d'être exécutés comme ça. Ceci fonctionne très bien (PHP 5.2 sur une RedHat Entreprise dont je ne me souviens pas la version exacte). Bonne chance. |
||
|
|
00
|
|
|
#4 |
![]() ![]() |
Merci à vous deux pour vos reponses. Mais, il y a encore de petits soucis.
Voici l'un des problèmes que je rencontre. Comment le faire? Le chmod +x est-l suffisant? Chez moi, j'ai /usr/bin/php4-cgi et /usr/bin/php-cgi. Mais, il me semble que mon serveur Web n'exploite que le /usr/bin/php4-cgi. Sont-ils compatibles avec ce que vous avez donné? Pour venir sur la commande de Tsilefy, le système me retourne command not found. C'est logique avec ce que j'ai dit plus haut, n'est ce pas? Merci à tous!
__________________
Un gros problème est la somme de plusieurs petits problèmes. Resolvez chacun des petits problèmes: vous aurez resolu le gros problème! ![]() Mes tutos || Mon blog || Développeurs ivoiriens |
|
00
|
|
|
#5 |
|
Membre éclairé
![]() Inscription : mai 2008 Messages : 359 ![]() |
essaie
/usr/bin/php4-cgi -v ou /usr/bin/php-cgi -v pour voir s'ils fonctionnent depuis la ligne de commande. Normalement, c'est php-cli qui fonctionne en ligne de commande (avec la commande php), mais on ne sait jamais. chmod + x devrait fonctionner. |
|
|
00
|
|
|
#6 |
![]() ![]() |
ça ne marche toujours pas. Voici la procédure que j'ai suivi:
1- j'ai mis mon fichier en mode executable: chmod + x <monrepertoire/mon_fichier> 2- j'ai crée un fichier cronmail dans lequel j'ai écrit ceci: * * * * * /usr/bin/php4-cgi - v /<monrepertoire/mon_fichier> 3- j'ai fait lancé la commande: crontab cronmail. Je reçois une notification sur le mail de l'utilisateur que le cron fonctionne, mais l'action à faire par le script PHP n'est pas réalisée: il s'agit de supprimer des messages dans une boîte à message. Je sais plus trop vers quoi m'orienter Merci de votre aide.
__________________
Un gros problème est la somme de plusieurs petits problèmes. Resolvez chacun des petits problèmes: vous aurez resolu le gros problème! ![]() Mes tutos || Mon blog || Développeurs ivoiriens |
|
00
|
|
|
#7 |
![]() ![]() |
Il fallait plutôt faire :
Code :
* * * * * /usr/bin/php4-cgi - f /<monrepertoire/mon_fichier> Tout est ok. Merci à tous!
__________________
Un gros problème est la somme de plusieurs petits problèmes. Resolvez chacun des petits problèmes: vous aurez resolu le gros problème! ![]() Mes tutos || Mon blog || Développeurs ivoiriens |
|
00
|
|
|
#8 |
|
Membre éclairé
![]() Inscription : mai 2008 Messages : 359 ![]() |
Mais oui
-v sert à déterminer la version installée. C'est juste pour tester si l'exécutable est accessible depuis la ligne de commandes ou pas. |
|
|
00
|
|
|
#9 | |
![]() ![]() |
Citation:
![]() Avec -v, il me retournait PHP4, etc. Merci beaucoup de ton aide!
__________________
Un gros problème est la somme de plusieurs petits problèmes. Resolvez chacun des petits problèmes: vous aurez resolu le gros problème! ![]() Mes tutos || Mon blog || Développeurs ivoiriens |
|
|
00
|
|
|
#10 |
|
Membre habitué
![]() |
Bonjour à tous,
J'ai lu avec intérêt cette discussion qui me laisse quelques questions. Mon site est hébergé, je voudrais mettre en place un script de nettoyage de mes bases de données (genre vers minuit chaque jour). Donc pas de ligne de commande... (enfin pas à ma connaissance) comment procéder ? ![]() PS : je me renseigne bien-sûr auprès de mon hébergeur...
__________________
"n'imprimez ces messages que si nécessaire... Préservez notre planète"
|
|
00
|
Copyright © 2000-2012 - www.developpez.com