[php] fonction system() et timeout

Fermé
clintm Messages postés 689 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 10 juin 2015 - 24 oct. 2008 à 19:47
clintm Messages postés 689 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 10 juin 2015 - 25 oct. 2008 à 00:14
Bonjour,

j'utilise la fonction system() de php pour lancer des programmes
le fichier se compose comme ci :
<?php
$programme = $_GET['programme'];
system("start $programme");
print "programme lancé avec succès";
?>

avec ce code je peux lancer des programme à distance.
le programme ce lance bien mais le message ne s'affiche jamais et à la fin : timeout()


en réalité c'est plus compliqué que ça j'ai "inventer" un language, et la fonction system() appel un programme (en php, en ligne de commande) qui traduit mon language.

j'ai lu sur php.net, qu'on peut utiliser passthru() au lieu de system() si on ne veut pas obtenir de retour ???

comment rectifier ce problème
A voir également:

2 réponses

multicite Messages postés 47 Date d'inscription dimanche 11 février 2007 Statut Membre Dernière intervention 22 juillet 2009 14
24 oct. 2008 à 20:19
Bonsoir

Si tu ajoutes le symbole & en fin de ligne de commande, elle s'exécute en arrière plan.

Mais alors la doc php dit :

Si vous démarrez un programme en utilisant cette fonction et que vous voulez le laisser tourner en arrière plan, vous devez vous assurer que la sortie du programme est redirigée vers un fichier, ou un autre flux de sortie, sinon PHP attendra jusqu'à la fin de l'exécution du programme.

http://www.manuelphp.com/php/function.system.php

ec
0
clintm Messages postés 689 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 10 juin 2015 75
25 oct. 2008 à 00:14
merci

le problème c'est que même une fois que le programme est terminé, ca continue

c'est très génant, parce que su je veux utiliser la commande à distance dans d'autre programme, il attendra d'être en timeout !!

et je peux changer le timeout du serveur web, mais c'est embéttant.

que puis-je faire

0