[php] fonction system() et timeout

clintm Messages postés 689 Date d'inscription   Statut Membre Dernière intervention   -  
clintm Messages postés 689 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   14
 
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   Statut Membre Dernière intervention   75
 
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