Précédent   Forum des professionnels en informatique > PHP > Outils
Outils Forum d'entraide sur les outils pour développeurs PHP : EDI, installation, administration... Avant de poster : FAQ outils, toutes les FAQ PHP et les comparatifs
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/05/2008, 19h32   #1
Rédacteur/Modérateur
 
Avatar de Siguillaume
 
Homme Guillaume SIGUI
Chef de projet en SSII
Inscription : août 2007
Messages : 2 388
Détails du profil
Informations personnelles :
Nom : Homme Guillaume SIGUI
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : août 2007
Messages : 2 388
Points : 3 177
Points : 3 177
Envoyer un message via Yahoo à Siguillaume Envoyer un message via Skype™ à Siguillaume
Par défaut Automatiser l'éxecution d'un script PHP avec Crontab

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
Siguillaume est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 20h17   #2
Membre éclairé
 
Inscription : mai 2008
Messages : 359
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 359
Points : 397
Points : 397
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:
php -v
Sinon, sous linux, il reste toujours la possibilité d'exécuter un script par wget, à condition que le script soit accessible sur le net.
Tsilefy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 07h45   #3
Membre régulier
 
Inscription : janvier 2004
Messages : 94
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 94
Points : 88
Points : 88
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 :
1
2
3
4
 
#!/bin/sh
 
/usr/bin/php -f <chemin vers ton script>
Ce fichier est aussi passé en exécutable, sinon ça ne fonctionne pas (enfin je crois, ça date tout ça).

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.
jojosbiz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 09h02   #4
Rédacteur/Modérateur
 
Avatar de Siguillaume
 
Homme Guillaume SIGUI
Chef de projet en SSII
Inscription : août 2007
Messages : 2 388
Détails du profil
Informations personnelles :
Nom : Homme Guillaume SIGUI
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : août 2007
Messages : 2 388
Points : 3 177
Points : 3 177
Envoyer un message via Yahoo à Siguillaume Envoyer un message via Skype™ à Siguillaume
Merci à vous deux pour vos reponses. Mais, il y a encore de petits soucis.
Citation:
Envoyé par jojosbiz Voir le message
Ce fichier est aussi passé en exécutable,
Voici l'un des problèmes que je rencontre. Comment le faire? Le chmod +x est-l suffisant?

Citation:
Envoyé par jojosbiz Voir le message
Sachant bien sur que "/usr/bin/php"
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
Siguillaume est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 13h57   #5
Membre éclairé
 
Inscription : mai 2008
Messages : 359
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 359
Points : 397
Points : 397
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.
Tsilefy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 19h27   #6
Rédacteur/Modérateur
 
Avatar de Siguillaume
 
Homme Guillaume SIGUI
Chef de projet en SSII
Inscription : août 2007
Messages : 2 388
Détails du profil
Informations personnelles :
Nom : Homme Guillaume SIGUI
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : août 2007
Messages : 2 388
Points : 3 177
Points : 3 177
Envoyer un message via Yahoo à Siguillaume Envoyer un message via Skype™ à Siguillaume
ç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
Siguillaume est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 19h43   #7
Rédacteur/Modérateur
 
Avatar de Siguillaume
 
Homme Guillaume SIGUI
Chef de projet en SSII
Inscription : août 2007
Messages : 2 388
Détails du profil
Informations personnelles :
Nom : Homme Guillaume SIGUI
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : août 2007
Messages : 2 388
Points : 3 177
Points : 3 177
Envoyer un message via Yahoo à Siguillaume Envoyer un message via Skype™ à Siguillaume
Il fallait plutôt faire :
Code :
* * * * * /usr/bin/php4-cgi - f /<monrepertoire/mon_fichier>
Pour que les choses marchent.
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
Siguillaume est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 21h05   #8
Membre éclairé
 
Inscription : mai 2008
Messages : 359
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 359
Points : 397
Points : 397
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.
Tsilefy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2008, 09h51   #9
Rédacteur/Modérateur
 
Avatar de Siguillaume
 
Homme Guillaume SIGUI
Chef de projet en SSII
Inscription : août 2007
Messages : 2 388
Détails du profil
Informations personnelles :
Nom : Homme Guillaume SIGUI
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : août 2007
Messages : 2 388
Points : 3 177
Points : 3 177
Envoyer un message via Yahoo à Siguillaume Envoyer un message via Skype™ à Siguillaume
Citation:
Envoyé par Tsilefy Voir le message
-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.
C'est finalement ce que j'ai fini par comprendre
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
Siguillaume est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2008, 09h54   #10
Membre habitué
 
Avatar de elvan49
 
Laurent
Développeur Web
Inscription : octobre 2006
Messages : 226
Détails du profil
Informations personnelles :
Nom : Laurent
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2006
Messages : 226
Points : 141
Points : 141
Envoyer un message via Skype™ à elvan49
Par défaut Quand on est hébergé

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"
elvan49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h35.


 
 
 
 
Partenaires

Hébergement Web