Aloha,
Ma page Web permet à un utilisateur de lancer un traitement sur un serveur. Si le poste de mon utilisateur a des droits sur un répertoire, le traitement me renvoie pourtant une erreur lors de la tentative d'écriture de ce répertoire.
Si "j'encapsule" la ligne de commande dans un .cmd appelé par exec, là pas de problème. Si je lance la ligne de commande depuis le serveur pas de problème non plus.
Le problème c'est que mon interface permet à l'utilisateur de passer des paramètres à cette lignes de commande, alors comment faire pour passer par un .cmd ?
Voici la ligne de commande lancée :
D:/FME/FME2012/fme.exe "E:/FME/FME2010/fichiers configurations/referentiel_voie_adresse/oracle8i_oracle8i_db2mif_shape.3.fmw" --COORDSYS_SORTIE "EPSG:27571" AA.B.AA.BB p25925.$$$$.local > D:/FME/FMEweb/log/e62e4916dd07ff731806f1357eded9d7.log
Et le code php qui la lance :
1 2 3 4 5
|
$full_cmd=$cmd." ".$client_ip." ".$client_name." > ".$log_file;
echo "Execution de la ligne de commande ".$full_cmd."<br>";
flush();
exec($full_cmd, $output, $return_code); |
D'avance merci.
PS. Mon serveur est un serveur windows, pour ceux qui auraient voulu me faire passer par su (à moins que ce soit possible, en ce cas, j'apprends quelque chose).
Partager