Fonction exec() en tache de fond [Résolu]

sdisp 75 Messages postés jeudi 27 janvier 2005Date d'inscription 17 octobre 2008 Dernière intervention - 28 août 2006 à 16:37 - Dernière réponse : Travailleuuse06 8 Messages postés jeudi 22 décembre 2005Date d'inscription 2 avril 2008 Dernière intervention
- 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.
Afficher la suite 

4 réponses

Répondre au sujet
sdisp 75 Messages postés jeudi 27 janvier 2005Date d'inscription 17 octobre 2008 Dernière intervention - 28 août 2006 à 17:45
+3
Utile
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.

@+
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de sdisp
cs_eXon 167 Messages postés lundi 17 janvier 2005Date d'inscription 8 avril 2007 Dernière intervention - 28 août 2006 à 17:02
0
Utile
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
Commenter la réponse de cs_eXon
sdisp 75 Messages postés jeudi 27 janvier 2005Date d'inscription 17 octobre 2008 Dernière intervention - 28 août 2006 à 17:21
0
Utile
Salut.

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

Une autre idée ?

Merci.
Commenter la réponse de sdisp
Travailleuuse06 8 Messages postés jeudi 22 décembre 2005Date d'inscription 2 avril 2008 Dernière intervention - 4 sept. 2006 à 16:06
0
Utile
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
Commenter la réponse de Travailleuuse06

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.