Problème avec la fonction "exec()"

Problème avec la fonction "exec()" - PHP - Programmation

Marsh Posté le 07-08-2007 à 10:53:24    

Bonjour à tous.
 
Je travaille sur la création d'un intranet pour ma société, qui doit générer des fichiers WORD suivant des infos dans une base. La création de ces fichiers se faisant en VB Access, il faut que le programme PHP éxécute une ligne de commande lançant MS ACCESS, avec un certain nombre de paramètres... Malheureusement, cela ne créé pas le fichier. Pourtant, la ligne de commande est correcte (si je la récupère, et que je l'éxécute directement dans l'invite de commande, cela me créé bien le fichier)...
Voici le format de la ligne de commande :  

Citation :

"c:Program Files\Microsoft Office 2003\OFFICE11\MSACCESS.EXE" "c:\GestCom\3.3.0\HelperGestCom.mdb" /cmd CreateDocAttestation 854 432 "d:xampp/xampp/htdocs/docs/Attestation_Individuelle2.doc"


 
 
Pour info, j'utilise la fonction exec(), mais j'ai aussi éssayé system(), avec le même résultat.
 
Quelqu"un aurait une idée sur le problème que je rencontre ? Merci d'avance !


Message édité par cairn-ivore le 07-08-2007 à 10:55:18
Reply

Marsh Posté le 07-08-2007 à 10:53:24   

Reply

Marsh Posté le 07-08-2007 à 10:58:01    

si tu met ces lignes dans un fichier .bat et que tu execute le fichier .bat ?


Message édité par Koyomi le 07-08-2007 à 10:58:07
Reply

Marsh Posté le 07-08-2007 à 11:01:10    

si tu l'execute en phph, elle est executé cote serveur  
 
est ce que tu as access installé sur le serveur ?  

Reply

Marsh Posté le 07-08-2007 à 11:01:33    

Je viens d'essayer, et cela ne me créé pas le fichier...
 
Ca peut être un problème de droit d'éxécution ?

Reply

Marsh Posté le 07-08-2007 à 11:02:46    

flo850 a écrit :

si tu l'execute en phph, elle est executé cote serveur  
 
est ce que tu as access installé sur le serveur ?  


 
Oui oui, un XAMP est installé (en fait le serveur PHP principal appele une page du serveur XAMP, sur lequel est installé ACCESS, qui ne fait qu'éxécuter la ligne de commande passée en paramètre

Reply

Marsh Posté le 07-08-2007 à 11:14:05    

Bon, j'avance dans mon problème (mais du coup, c'est plus du PHP du tout :p

 

Quand je lance mon .bat en invite de commande, il me dit " Le chemin d'accés spécifié est introuvable", après m'avoir affiché le ciontenu du fichier...

 

Bizarre, vu qu'en l'éxécutant directement, cela marche parfaitement :/


Message édité par cairn-ivore le 07-08-2007 à 11:23:05
Reply

Marsh Posté le 07-08-2007 à 11:25:37    

N'étant pas un pro de la "ligne de commande", je suis étonné par ce que je  viens de voir :  
si je me déplace jusqu'au bureau, et que j'éxécute le .bat, cela me met cette erreur. par contre, si je l'éxécute en indiquant le chemin complet
 
U:\>"c:Documents and Settings/jb/Bureau/test.bat"
 
Alors, cela fonctionne ! je comprends plus !

Reply

Marsh Posté le 07-08-2007 à 11:50:41    

Sinon en PHP via l'extension COM, on peut piloter Word et Access directement, sans passer par exec.

Reply

Marsh Posté le 07-08-2007 à 11:56:46    

Ah, je savais pas...malheureusement, les délais m'empechent de revenir en arrière, les modèles sont prets, il faut juste que j'arrive à le faire éxécuter par PHP...

Reply

Marsh Posté le 07-08-2007 à 11:59:29    

A noter que la fonction exec ne me renvoit rien ( pas d'erreurs...)

Reply

Marsh Posté le 07-08-2007 à 11:59:29   

Reply

Marsh Posté le 07-08-2007 à 12:14:13    

http://www.manuelphp.com/php/function.exec.php
 
tu passe bien le second argument a la fonction exec ?

Reply

Marsh Posté le 07-08-2007 à 13:40:14    

Oui oui, et ca me renvoie un tableau vide :/

Reply

Marsh Posté le 07-08-2007 à 13:54:41    

Il y a une note sur la fonction exec sur php.net, notamment sur le safe_mode, mais qui est désactivé...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed