Aller au contenu

Comment executer un php sur le serveur sans connexion


Sujets conseillés

Posté

Bonsoir,

Voici mon petit soucis:

Je dois mettre en ligne un flux RSS dont le fichier .xml est fait grâce à un PHP.

Là tout fonctionne.

La seule chose, c'est que le PHP doit s'auto-exécuter toutes les minutes sur le serveur (sans que l'on ait besoin d'ouvrir la page...) afin de créer un nouveau xml.

Quelqu'un aurait-il une idée?

Merci d'avance

Bonne soirée à tous

Rose

Posté

Bonsoir Roseline, et bienvenue sur le Hub !

Toutes les minutes? cela me semble bien (trop) souvent...

Si tu es sur un serveur dédié, tu peux y arriver par un crontab adéquat pour cet "utilisateur".

Sur serveur mutualisé, tu as la possibilité d'utiliser webcron. http://www.webcron.org/

Je te déconseille tout de même un délai de mise à jour inférieur à 5 voire 15 minutes.

  • 3 semaines plus tard...
Posté

Bonsoir Dan,

Merci pour les infos, je vais regarder tout cela.

En attendant, j'ai fait le système D, à savoir avoir une page ouverte dans un naviguateur qui s'actualise.... Et cela fonctionne!

Je sais, c'est pas top, mais bon....

Quant au délai, malheureusement les 5 min sont trop longues :-(

Si cela t'interesse de voir le resultat, tu peux faire un saut sur www.inforadars.ch

Encore merci

Bonne soirée

Posté

Et pourquoi ne pas, tout simplement, générer le XML à la demande ?

En gros, l'utilisateur clique sur un lien, et le PHP génère le XML "en direct", puis le fait télécharger.

Quel est le temps de création de ton fichier ?

Posté

Malheureusement il ne me semble pas que cela soit compatible avec le RSS.

Car l'utilisateur, une fois "abonné" au RSS ne retourne plus sur le site; c'est le fichier qui doit être actualisé, mais l'on ne sait pas quant quelqu'un fait une demande....

Qu'entends-tu par "temps de création"?

A+

Rose

Posté

Pourtant, c'est ce que je fais sur un site ;)

Le RSS appelé a une extension .php, mais génère du XML (sous la norme RSS).

Mais bien sûr, ca n'est valable que si la génération du fichier est courte (moins d'une seconde).

Posté

Bonjour Roseline,

Les lecteurs RSS sont des clients web comme les autres. Quand tu t'abonnes à un fil, cela ne veut pas dire que ton lecteur RSS ne va pas se reconnecter sur le site pour mettre à jour le fil.

Tu peux très bien utiliser une extension php si celle-ci génère directement le flux RSS qui va bien. La bonne solution serait de mettre en place un système de cache.Comme cela une seule personne supporterait la charge de la génération du fichier toute les minutes.

Posté

Merci à vous deux!

J'ai l'impression que je n'ai pas encore saisi le fonctionnement du RSS :-(

Je vais donc revoir tout cela par rapport à ce que vous me dites :-)

Au boulot....

Posté

Si tu veux avoir une vision simple, tu n'as qu'a te dire que le RSS c'est comme le html et que le lecteur RSS, c'est comme ton navigateur web. Derrière tout fonctionne de la meme maniere car il s'agit des meme technologie.

Posté

Ok, je veux bien.

J'ai un fichier php qui génère le xml (RSS).

Le fichier php se rafraîchi actuellement "tout seul" pour générer un nouveau xml régulièrement.

Mais le xml n'a pas de lien sur le php.

Je devrai donc ajouter sur le xml une fonction d'appel sur le php?

Posté

ton lien RSS va devenir : http://ton-site/rss.php

le script rss.php génère alors le flux xml (pour l'instant pas dans un fichier mais comme si tu générais une page web).

Maintenant tu vas mettre en place le cache de ce flux. Pour cela ton script va générer le flux dans un fichier si le cache n'est plus valide sinon il lit le fichier de cache et le renvoie au client.

Tu possèdes déjà un script qui génère ton fichier de cache, il suffit de le modifier pour que cela fonctionne correctement: il génère le fichier et renvoie ensuite le contenu en faisant un echo par exemple... et ensuite tu mets en place le test temporel pour savoir si tu dois générer + lire ou seulement lire le fichier.

Veuillez vous connecter pour commenter

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



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