Execution automatique d'une page PHP à une heure précise - PHP - Programmation
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
Marsh Posté le 04-12-2006 à 14:49:24
Serveur Linux ? Si oui, alors regarde du côté des tâches cron (man crontab) ...
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?
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)
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.
Marsh Posté le 21-01-2007 à 14:10:11
Fait plutôt directement
Code :
|
Pas besoin de cette avalance de cd
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
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
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
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 ?
Marsh Posté le 21-01-2007 à 17:28:32
pour ton problème, regarde du côté de webcron : http://www.webcron.org/
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.