Aller au contenu

Exécuter un script php de façon automatique


Sujets conseillés

Posté

Bonjour à tous,

Je suis à la recherche d'un ?? qui me permettrait d'exécuter automatiquement un script php. Une sorte d'agent ou de routine qui tous les X du mois me lancerati le script PHP.

Avez vous une idée ??

Merci d'avance

Tim

Posté

Un cron job serait parfait

tu peux executer ton script php depuis le shell, donc tu fait un cron du style :

php /rep/sous-rep/script.php

et tu précises ensuite les frequences (genre tous les mois, tous les lundis, à 15H30)

Posté

Ok, merci pour la réponse super rapide.

Je ne sais pas du tout exécuter de script depuis le shell mets il est temps que j'apprenne, je vais me pencher sur la question.

Encore merci !

PS : j'ai aussi trouver webcron un service web à cette adresse http://www.webcron.org/ . Cela vous paraît-il valable ??

Posté

Oui Webcron.org est valable, et assez performant.

Il faut juste que la tâche que tu veux lancer ne soit pas vitale, car on ne sait jamais, si leur serveur tombe en rade ou est en maintenance elle ne sera pas effectuée.

Si mes souvenirs sont bons, tu as droit à 3 tâches gratuites.

Posté

Grâce à votre aide, j'ai pu avancer mais suis confronté à un autre problème.

Je suis en hébergement mutualisé 720plan sous OVH et j'ai lu dans les guides d'ovh http://guides.ovh.net/MutuliseCron de quelle façon utiliser cron pour exécuter mon fichier php. Toutefois, il demande de tester au préalable son script à l'aide de shell. Or, je ne sais pas du tout comment procéder, j'ai beau chercher, je ne trouve pas de solution.

J'aimerai donc avoir vos lumières sur la façon dont je peux tester mon script avec shell !!

Merci d'avance !

Posté

Bonjour,

Tester son script avec shell signifie tester le script en ligne de commande. Car c'est ce que va faire le cron : lancer une commande. Il faut donc se connecter sur ton serveur via telnet et lancer la commande : "php -f tonscript.php"

Pour plus d'options, tape "man php"

Posté

Il y a un soft pratique pour ca : PuTTY

Sinon, en ligne de commande windows tu lance : telnet

Mais il va te falloir un login et un mot de passe... Je ne sais pas si tu peux en disposer sur un serveur mutualisé.

Posté

C'est encore moi.

Donc sur vos conseils, j'ai installé PuTTY et ai réussi à me connecter en mode SSH, le telnet ne fonctionne pas, peut être n'est il pas compatible avec mon hébergement. Bref, j'ai réussi a exécuter mon script, il fonctionne hormis une partie ou j'appel les fonctions php opendir et readdir pour lister mes dossiers. Peut-être auraient-vous une info à me donner la-dessus !!

Toutefois, un grand merci pour votre aide, j'ai bien avancé grâce à vous.

Vive Webmaster-hub !! :thumbsup:

Posté
[...] ai réussi à me connecter en mode SSH, le telnet ne fonctionne pas, peut être n'est il pas compatible avec mon hébergement.

Certainement, c'est plus sécurisé que telnet :)

Bref, j'ai réussi a exécuter mon script, il fonctionne hormis une partie ou j'appel les fonctions php opendir et readdir pour lister mes dossiers. Peut-être auraient-vous une info à me donner la-dessus !!

Il doit y avoir un problème de droits. Si tu es connecté en tant qu'un utilisateur A, regarde qu'il a bien les droit de lecture sur les répertoires que tu veux lire.

Il y a peut-être aussi un soucis au niveau des chemins d'accès...

Posté
Il doit y avoir un problème de droits. Si tu es connecté en tant qu'un utilisateur A, regarde qu'il a bien les droit de lecture sur les répertoires que tu veux lire.

Il y a peut-être aussi un soucis au niveau des chemins d'accès...

Ok, cool !! Le soucis était bien au niveau des chemins d'accès. Je pensé qu'il ne comprenait pas les fonctions opendir() et readdir() mais il n'y a pas vraiment de rapport. Le php est interprété de la même façon je suppose.

Je viens d'envoyer un mail à OVH pour qu'il mette en place cron avec mon fichier. J'espère que tout collera.

Vraiment un grand merci à tous :thumbsup:

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...