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

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

Votre réponse

4 réponses

Meilleure réponse
Messages postés
75
Date d'inscription
jeudi 27 janvier 2005
Dernière intervention
17 octobre 2008
- 28 août 2006 à 17:45
3
Merci
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.

@+

Merci sdisp 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 89 internautes ce mois-ci

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

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

Une autre idée ?

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