Fonction exec() en tache de fond

Résolu
sdisp Messages postés 75 Date d'inscription jeudi 27 janvier 2005 Statut Membre Dernière intervention 17 octobre 2008 - 28 août 2006 à 16:37
Travailleuuse06 Messages postés 8 Date d'inscription jeudi 22 décembre 2005 Statut Membre Dernière intervention 2 avril 2008 - 4 sept. 2006 à 16:06
Bonjour.

J'utilise :

<?
exec("wscript.exe "script.vbs"")
?>

Pour lancer un script vb qui exécute une requête et crée un fichier .txt avec le résultat de cette requête.
Je voudrais que le script s'exécute en tache de fond et non pas que ma page php attende que le script soit terminer pour rendre la main.

J'ai trouvé ça:

Note : 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.

Ici :http://fr.php.net/manual/fr/function.exec.php

Mais je ne comprends pas comment faire, en plus je n'ai pas besoin qu'un résultat me soit retourné.
Comment puis-je faire?

Merci.

4 réponses

sdisp Messages postés 75 Date d'inscription jeudi 27 janvier 2005 Statut Membre Dernière intervention 17 octobre 2008 1
28 août 2006 à 17:45
Re.

J'ai trouver ca et ca marche.

pclose(popen("start /b wscript.exe "script.vbs""));

start /b => pour le background.

Merci eXon pour ton aide.

@+
3
cs_eXon Messages postés 166 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 8 avril 2007 1
28 août 2006 à 17:02
Salut,

Ton programme attent la fin de l'execution parce que l'output par défaut est l'endroit où tu l'écris. Si tu mets un output dans une variable, il sera capable de continuer ton programme sans savoir le résultat tant que tu n'utilises pas cette variable. Pour le faire, tu n'as qu'à faire:

<?php
$array = array();
exec('wscript.exe "script.vbs"', $array);
?>

Si j'ai bien compris l'explication de PHP ca devrait marcher.
----------------
eXon
0
sdisp Messages postés 75 Date d'inscription jeudi 27 janvier 2005 Statut Membre Dernière intervention 17 octobre 2008 1
28 août 2006 à 17:21
Salut.

J'ai essayé ce que tu ma mis mais ça continue à attendre

Une autre idée ?

Merci.
0
Travailleuuse06 Messages postés 8 Date d'inscription jeudi 22 décembre 2005 Statut Membre Dernière intervention 2 avril 2008
4 sept. 2006 à 16:06
Bonjour,

cette solution ne marche pas pour moi.

J'ai ces erreurs suivantes :

Warning: Wrong parameter count for popen() in  on line 4

Warning: pclose(): supplied argument is not a valid stream resource in  on line 4

et ma ligne 4 : pclose(popen("start /b wscript.exe "fichier.vbs""));

Que faire????
De plus, j'aurais voulu passer des paramètres à mon Vbs mais pas moyen de trouver sur le web de l'aide....

Merci
0