2009-06-01 5 views
2

Je suis novice en programmation web, et je développe une application de rendez-vous simple avec PHP + MySQL. Existe-t-il un moyen simple d'ajouter un processus d'arrière-plan sur une minuterie (pour envoyer des rappels de rendez-vous quotidiens, par exemple)? Cela pourrait être fait facilement dans une autre langue, mais je veux qu'il fonctionne sur un hébergement partagé avec seulement PHP.Processus serveur avec PHP + MySQL

Répondre

5

Votre hôte peut ne pas l'approuver. Vous pouvez écrire un script PHP à utiliser sur la ligne de commande et créer une entrée crontab pour l'exécuter périodiquement. Si vous n'avez pas d'accès en ligne de commande à l'interpréteur PHP, vous pouvez écrire le script à exécuter sur le serveur Web et le frapper avec wget ou curl, en utilisant également une entrée crontab.

+0

+1 pour utiliser cron sur une machine locale + script public sur la machine distante. Remote-cron est une bonne idée. – tj111

0

Si vous avez un hébergeur Linux, vous pouvez utiliser un cronjob (pour exécuter automatiquement un script périodiquement), même sur un hébergement partagé. Certains hébergeurs avec hébergement Web partagé vous permettent de créer cronjobs via cPanel (ou tout ce qu'ils utilisent). Ce serait vraiment votre meilleur pari, par opposition à la création d'un processus d'arrière-plan sur le serveur, dont l'hébergeur ne serait probablement pas très gentil. Donc certainement vérifier et voir si vous pouvez utiliser cron.

0

Je travaille dans un endroit où je ne peux pas définir un travail cron donc j'ai fait une page qui, lorsqu'elle est affichée, vérifie l'heure depuis la dernière fois qu'elle a fait une liste de tâches. Si le temps écoulé depuis la dernière exécution du travail dépasse un seuil défini, il exécute la liste des tâches. Ensuite, j'ai mis en place un travail programmé sur un ordinateur que je connais est tout le temps et connecté à Internet et ouvrirait la page toutes les 10 minutes. Travaillé assez constamment. J'ai eu l'idée de Joel sur un épisode de podcast de débordement de pile.