Page 1 sur 1

Utiliser "mod_php" pour exécuter des tâches planifiées.

Posté : 23 mars 2011, 21:27
par denis.beurive
Bonjour à tous,

Ma question porte sur l'utilisation de "mod_php" pour exécuter des tâches planifiées sur un système Linux (via la commande CRON). Je m'interroge sur la durée maximum autorisée pour l'exécution d'un script PHP, via HTTP.

Je précise que j'envisage d'installer mes développements chez OVH, dont la configuration PHP est accessible sur ce lien: http://pro.ovh.net/infos/test.php5

J'ai consulté la documentation de la fonction PHP "set_time_limit()" (http://php.net/manual/fr/function.set-time-limit.php).

Sur le lien que j'ai fourni, et qui montre la configuration de PHP chez OVH, on constate que "safe_mod=off". Donc, a priori, la fonction "set_time_limit()" est efficace.

Donc, si j'exécute le code suivant, mon script ne devrait pas être interrompu prématurément : set_time_limit(0).

Cette technique vous semble-t-elle correcte? Existe-t-il une autre technique préférable à celle-ci?

Merci d'avance,

Denis

Re: Utiliser "mod_php" pour exécuter des tâches planifiées.

Posté : 24 mars 2011, 10:02
par Mazarini
Bonjour,

Si comme tu le dis, la commande set_time_limit() est autorisée, ca ne devrait pas poser de problème.

Par contre, au lieu de faire un appel via http (wget ?), tu pourrais faire un appel direct à PHP. Sous windows il est possible de faire php.exe unePage.php. Sous Linux la même chose est possible avec l'exécutable php (celui du mode cgi).

Re: Utiliser "mod_php" pour exécuter des tâches planifiées.

Posté : 24 mars 2011, 11:13
par denis.beurive
Bonjour,

Si comme tu le dis, la commande set_time_limit() est autorisée, ca ne devrait pas poser de problème.

Par contre, au lieu de faire un appel via http (wget ?), tu pourrais faire un appel direct à PHP. Sous windows il est possible de faire php.exe unePage.php. Sous Linux la même chose est possible avec l'exécutable php (celui du mode cgi).
Bonjour Mazarini,

J'ai pensé utiliser l'interface en ligne de commande de PHP. Ce serait, en effet, la solution la plus "rationnelle", dans la mesure où les traitements que je désire effectuer ne justifient en rien l'utilisation du protocole HTTP. Sur mon environnement de développement, j'ai d'ailleurs développé mes scripts en supposant que j'allais utiliser cette technique.

Toutefois, les services d'hébergement mutualisé ne permettent pas d'utiliser PHP en ligne de commande. Un moyen serait de louer un serveur dédié (virtuel ou non)... mais le coût est plus élevé. J'envisagerais peut-être cette solution dans le futur.

Cordialement,

Denis

Re: Utiliser "mod_php" pour exécuter des tâches planifiées.

Posté : 24 mars 2011, 11:41
par Mazarini
Bonjour,

J'ai quand même un doute sur l'utilisation de la limite d'exécution sur un serveur mutualisé. Vérifie que la fonction est bien activée.

Une boucle echo date('h:i:s'),'<br>,"\n"; sleep(10); devrait suffire.

Re: Utiliser "mod_php" pour exécuter des tâches planifiées.

Posté : 24 mars 2011, 14:44
par denis.beurive
Bonjour,

J'ai quand même un doute sur l'utilisation de la limite d'exécution sur un serveur mutualisé. Vérifie que la fonction est bien activée.

Une boucle echo date('h:i:s'),'<br>,"\n"; sleep(10); devrait suffire.
Salut Mazarini,

Pour le moment, je ne peux pas tester la faisabilité de l'opération, car je n'ai pas encore souscrit à une offre d'hébergement mutualisé. J'effectuerais le test dès que possible.

Cordialement,

Denis