2010-10-13 8 views
0

J'ai besoin de mon site pour lire occasionnellement un fichier afin de se mettre à jour. (Quotidien ou hebdomadaire si possible)Comment mettre à jour périodiquement php?

Php est-il capable de cela seul? (D'après ce que j'ai vu la réponse est "non")

Que puis-je utiliser d'autre pour faire cela? (Sql semble fonctionner, mais j'ai cherché et je ne peux pas dire avec certitude)

+0

http://stackoverflow.com/questions/723791/what-are-best-practices-for-self-updating-phpmysql-applications – Xorlev

+0

Bien sûr, il est possible –

Répondre

3

Vous pouvez utiliser un cronjob qui exécute votre script PHP à un intervalle donné (par exemple tous les jours à 12 heures). Si vous ne pouvez pas utiliser de vrais cronjobs: il y a aussi des sites qui offrent des "cronjobs" gratuits - vous leur donnez une URL et ils la visitent au moment où vous leur dites. Juste google pour "cronjobs gratuit".

+1

Il y a une deuxième alternative à de véritables cronjobs - cronjobs simulé. Chaque fois qu'un utilisateur visite un site, il peut être le déclencheur du «job cron». Une table contient des informations cron (fréquence à exécuter, commande à exécuter), et si l'heure actuelle moins la dernière fois que le script a été exécuté dépasse l'intervalle, exécutez la commande. Bien sûr, l'inconvénient est que si personne ne visite le site, le 'job cron' ne fonctionnera pas. – Seidr

+1

J'ai déjà pensé à mettre à jour quand la page se charge. J'ai baissé l'idée parce que je cherche la cohérence plutôt que la commodité. – user474632

+0

@Seidr Moi aussi j'avais des pensées similaires, mais ensuite un autre problème m'est venu à l'esprit, qui est que si nous donnons à n'importe quel utilisateur autre que admin le déclencheur pour le travail, il y a quelques mises en garde. sur des intervalles peut prendre un temps exceptionnellement long à exécuter jusqu'à la fin, ce qui peut ennuyer l'utilisateur et lui faire fermer l'onglet, ce qui signifie que la tâche ne serait pas exécutée dans son intégralité. 2. Il pourrait produire quelque chose comme des erreurs/exceptions auxquelles l'utilisateur ne s'attendait pas, parce qu'il voulait juste faire ses choses simples, mais il ne savait pas qu'il se passait beaucoup de choses en arrière-plan. –

0

Vous pouvez utiliser crontables sur le système Unix pour exécuter des mises à jour périodiques.

0

Utilisation Cron:

crontab -e 

Ensuite, vous modifiez le fichier comme dans vim ou vi.

http://blog.linuxvin.com/wp-content/uploads/2010/07/crontab-syntax.gif

Ce exécuterait tous les jours:

0 0 0 0 0-6 /absolute/path/to/the/executable 

Si vous voulez utiliser votre script php exécutable l'ol » elle-bang. Ajouter:

#!/usr/bin/php 

ou quel que soit le chemin est à votre interpréteur PHP à la première ligne de votre fichier PHP puis faire:

chmod a+x yourfile.php 
1

Cronjobs sont la réponse évidente (pour les serveurs linux). Toutefois, pour les personnes qui n'ont pas la capacité/les autorisations de le faire sur leur environnement physique.

L'autre option consiste à créer un cron simulé. Qui exécute fondamentalement un script chaque fois que le site/la page est chargé. Cela pourrait alors vérifier l'heure et la date actuelles et décider s'il doit effectuer d'autres opérations, dans votre cas, l'opération de mise à jour.

+0

Obtenez plus de 15 points! – user474632

Questions connexes