Discussion:
Comment lancer plusieurs fois un script php a partir d'un script php ?
(trop ancien pour répondre)
Jean-Francois Ortolo
2011-04-15 23:11:35 UTC
Permalink
Bonjour

Je suis en train d'adapter mes statistiques de performances des
pronostics de mon site, de manière à ce que les rentabilités soient
calculées d'après les rapports réels, et non pas la moyenne des rapports
durant l'année 2009.

Je reprend, en le modifiant, le package de scripts php et en Bourne
Shell, que j'avais programmé pour mon site partenaire ( avec son
autorisation ).

Je suis obligé de transformer un script en Bourne Shell, en script php.

Or, ce script lançait plusieurs fois un script stats.php avec
l'interpréteur php en mode cli, ce que j'aimerai bien pouvoir faire à
partir du nouveau script php.

Comment faire pour celà ?

Je peux difficilement faire des include, car le script lancé est très
gros, et multiplier les include, augmenterait beaucoup beaucoup le
volume de l'interprétation du script, compte tenu du fait, que ces
include dépendraient de l'exécution du script.

Est-il possible, de lancer un script php à partir d'un script php, de
manière plus rapide qu'avec des fonctions de type curl, qui induisent
des requêtes http ?

L'idéal, serait de pouvoir les lancer en mode cli, mais j'ai besoin
de lancer le même script, plusieurs fois ( un nombre de fois pouvant
aller jusqu'à 10, ou même 20 dans les cas les plus longs ).

J'ai également besoin, de pouvoir transmettre des paramètres, aux
scripts appelés.

Merci beaucoup de vos réponses.

Bien à vous.

Amicalement.

Jean-François Ortolo
--
Visitez mon site gratuit donnant des Statistiques,
des Pronostics et des Historiques Graphiques
sur les Courses de Chevaux:
http://www.pronostics-courses.fr
Jean-Francois Ortolo
2011-04-16 23:16:43 UTC
Permalink
Bonjour

Je me répond à moi-même :

Théoriquement, avec un tel script lancer.php :

<?php
$script = "/usr/bin/php -q -f ./stats.php ";

$output = @shell_exec($script . $date_debut . " " . $date_fin . "
2>/dev/null");

echo $output . "<br />\n";

exit;
?>

, j'arriverai à lancer à partir de ce script lancer.php déclenché par
un navigateur, le script stats.php situé dans le même répertoire que
lancer.php , avec les deux paramètres $date_debut et $date_fin , avec
redirection des erreurs dans le puids sans fond /dev/null de Linux.

La variable $output contiendra au retour, ce qui a aura été affiché
par stats.php, et le script stats.php pourra récupérer les deux
paramètres $date_debut et $date_fin dans les variables $argv[1] et
$argv[2] , où $argv = $_SERVER['argv'];

Ma question :

Voyez-vous un problème quelconque ( garbage ou autre dans $output ),
si l'interpréteur /usr/bin/php a été compilé en mode cgi, et non pas cli ?

Faut-il dans ce cas, rajouter quelque chose aux paramètres -q et -f
de /usr/bin/php ?

Par exemple le paramètre -n, qui annulerait l'influence du fichier de
configuration php.ini de php ?

Je sais que php existe toujours dans /usr/bin/, mais je ne peux pas
prévoir à priori, s'il a été compilé en mode cgi, ou cli...

Merci beaucoup de vos réponses.

Bien à vous.

Amicalement.

Jean-François Ortolo
--
Visitez mon site gratuit donnant des Statistiques,
des Pronostics et des Historiques Graphiques
sur les Courses de Chevaux:
http://www.pronostics-courses.fr
Continuer la lecture sur narkive:
Loading...