Execution automatique d'une page PHP à une heure précise

Execution automatique d'une page PHP à une heure précise - PHP - Programmation

Marsh Posté le 04-12-2006 à 14:23:49    

Bonjour,
 
J'ai un petit problème que je ne n'arrive pas à résoudre. Je dispose d'une base de données avec comme interface un site web intranet. L'accès est protégé avec SSL.
 
En fait, un mail récapitulatif des modifications effectuées dans la base pendant la journée doit être envoyé chaque jour à une heure précise. Pour faire cela, je suis obligé de passer par une page php (login ssl, odbc, etc.).
 
Il faudrait donc qu'une page de code php soit exécuté chaque jour à telle heure automatiquement sur le serveur.
 
Est-ce possible d'ordonner à Apache de faire cela?
Sinon j'ai pensé à une tâche planifié de Windows, qui lance un fichier .bat qui lui me lance ma page web. Mais cette solution n'est pas très professionnelle...
 
 
Si quelqu'un a déjà fait une chose de ce genre ou a une idée je suis preneur. Merci d'avance.

Reply

Marsh Posté le 04-12-2006 à 14:23:49   

Reply

Marsh Posté le 04-12-2006 à 14:41:46    

Cron est l'outil d'automatisation de tâches sur Linux/Unix, mais j'en déduis par ton message que ton serveur est un environnement Windows.
 
C'est vrai que lancer un fichier bat qui lance le navigateur n'est pas très élégant... tu ne peux pas utiliser un script VBS à la place de lancer le navigateur ?  
 
VB .NET dispose de librairies très complètes pour l'envoi de mail, et il existe gratuitement chez M$ un environnement de développement "light" en .NET ainsi qu'une doc touffue ... ce n'est pas moi qui m'en charge au boulot mais j'ai un collègue qui a automatisé un tas de tâches de contrôles (checks d'intégrité Active Directory, check de disk space, etc.) qui envoient des mails récapitulatifs ... c'est vraiment efficace ...
 
Et c'est bien via le Planificateur des tâches que les scripts VBS se lancent. Finalement, ce n'est pas si infâme comme solution ;)

Reply

Marsh Posté le 04-12-2006 à 14:49:24    

Serveur Linux ? Si oui, alors regarde du côté des tâches cron (man crontab) ...

Reply

Marsh Posté le 04-12-2006 à 17:02:01    

webcron sinon

Reply

Marsh Posté le 06-12-2006 à 20:02:55    

Oui merci pour les solutions. Je vais garder la solution de faire un petit fichier batch qui ouvre une page internet explorer...
 
Par contre j'ai un petit souci: c'est que internet explorer me demande d'accepter le certificat à chaque démarrage du navigateur. J'ai déjà regarder les configs et tout, mais apparement impossible. Vous auriez une solution?

Reply

Marsh Posté le 06-12-2006 à 20:04:02    

webcron sinon

Reply

Marsh Posté le 07-12-2006 à 09:03:41    

sinon, tu peux utiliser la commande "at" sous windows et executer directement un script php passé en paramètre de php.exe. T'as pas besoin de passer par un navigateur web. Par contre, dans ce cas là, tu n'a pas accès aux variables d'environnement de apache (genre $_SERVER)


Message édité par rufo le 07-12-2006 à 09:05:04
Reply

Marsh Posté le 21-01-2007 à 14:05:32    

C'est bon, le système fonctionne!
 
En ouvrant une page Internet Explorer, le problème impossible à résoudre était l'avertissement de sécurité SSL qui obligeait l'utilisateur à faire un clic. Impossible à faire quelque chose d'automatique donc.
 
Voici LA SOLUTION:
Je remercie rufo pour me l'avoir indiqué. Il s'agit simplement d'executer un fichier .bat avec une tâche planifiée windows, puis, et c'est là la clé, de démarrer grâce à ce batch le fichier php.exe en invite de commande en passant en paramètre la page php à exécuter.
 
Voici ce que contient mon fichier batch pour l'exemple:
"
cd..
cd..
cd..
cd php
php.exe d:\web\auto_send_mail.php
"
 
Voilà. En résumé, je me rend dans C:\php, et j'execute php.exe, et ma page va faire tout le code php automatiquement. Attention, tout ce qui est en html est évité.
Pour plus d'infos, voici un lien intéressant http://webdocs.math.univ-rennes1.f [...] dline.html.
 
Merci encore à tous.

Reply

Marsh Posté le 21-01-2007 à 14:10:11    

Fait plutôt directement

Code :
  1. C:\php\php.exe d:\web\auto_send_mail.php


Pas besoin de cette avalance de cd ;)

Reply

Marsh Posté le 21-01-2007 à 15:02:37    

Et pour info au pire il suffit de faire cd \ pour se retrouver à la racine du volume ;)

Reply

Marsh Posté le 21-01-2007 à 15:02:37   

Reply

Marsh Posté le 21-01-2007 à 17:04:03    

Bonjour tt le monde, j'ai un ptit souci moi aussi là dessus.
 
Mais pour automatiser le lancement ou l'execusion d'un script sur un serveur distant ? genre free ? il faut faire comment ? il y a une solution ?
 
merci à tt le monde ! ciao
:bounce:

Reply

Marsh Posté le 21-01-2007 à 17:18:54    

écirre en gras ne changera rien à ton problème

Reply

Marsh Posté le 21-01-2007 à 17:22:12    

et c'est quoi le but de dfaire un comment sur ça ?

Reply

Marsh Posté le 21-01-2007 à 17:24:09    

de ne pas te faire écrire en gras
de plus si tu avais lu le thread, tu aurais vu que la réponse à ta question écrite en gras est déjà dans le thread => webcron

Reply

Marsh Posté le 21-01-2007 à 17:27:07    

?? pardon ! je compronds pas trop là , je connais pas encore trés bien le "languge" de ce forum. c'est quoi le thread webcron ?

Reply

Marsh Posté le 21-01-2007 à 17:28:32    

pour ton problème, regarde du côté de webcron : http://www.webcron.org/

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed