Comment Executer un programme linux depuis php

Comment Executer un programme linux depuis php - PHP - Programmation

Marsh Posté le 17-06-2007 à 16:23:27    

Salut, je fais un site en php et j'ai besoin d'éxecuter un programme de synthèse vocale depuis php.
Je suis sous Suse 10.2. Pour exécuter ce programme je met met en mode console et je fais ca:
cd /home/equilibrium/baratinoo6.1b.2.1/bin/linx86/ pour me mettre dans le bon répertoire
puis ./baratinoo –i t.txt –o wav-header t.wav ../../config/baratinoo16i.cfg  
Cette commande exécute la synthèse vocale et crée un fichier t.wav à partir d'un fichier existant t.txt
 
En php j'ai essayé de faire ca:
$cmd = "cd /home/equilibrium/baratinoo6.1b.2.1/bin/linx86/; ";
$cmd .= "./baratinoo –i t.txt –o wav-header t.wav ../../config/baratinoo16i.cfg";
$result = exec($cmd,);
echo "<pre>$result</pre>";
Ca ne marche pas.
 
Pourtant si je fais
$cmd = "cd /home/equilibrium/baratinoo6.1b.2.1/bin/linx86/; ";
$cmd .= "ls -l";
$result = system($cmd);
echo "<pre>$result</pre>";
Ca m'affiche bien le contenu du répertoire
Quelqu'un aurait-il une idée pour m'aider? Merci d'avance

Reply

Marsh Posté le 17-06-2007 à 16:23:27   

Reply

Marsh Posté le 17-06-2007 à 16:31:16    

eki92 a écrit :

Salut, je fais un site en php et j'ai besoin d'éxecuter un programme de synthèse vocale depuis php.
Je suis sous Suse 10.2. Pour exécuter ce programme je met met en mode console et je fais ca:
cd /home/equilibrium/baratinoo6.1b.2.1/bin/linx86/ pour me mettre dans le bon répertoire
puis ./baratinoo –i t.txt –o wav-header t.wav ../../config/baratinoo16i.cfg  
Cette commande exécute la synthèse vocale et crée un fichier t.wav à partir d'un fichier existant t.txt
 
En php j'ai essayé de faire ca:
$cmd = "cd /home/equilibrium/baratinoo6.1b.2.1/bin/linx86/; ";
$cmd .= "./baratinoo –i t.txt –o wav-header t.wav ../../config/baratinoo16i.cfg";
$result = exec($cmd,);
echo "<pre>$result</pre>";
Ca ne marche pas.
 
Pourtant si je fais
$cmd = "cd /home/equilibrium/baratinoo6.1b.2.1/bin/linx86/; ";
$cmd .= "ls -l";
$result = system($cmd);
echo "<pre>$result</pre>";
Ca m'affiche bien le contenu du répertoire
Quelqu'un aurait-il une idée pour m'aider? Merci d'avance


 
Déjà, tu fais un system() au lieu d'un exec(). Ensuite, faut bien comprendre qu'en php, tu ne récupères que ce qu'une commande affiche à l'écran. Si tu fais system("ls" )  c'est ok, si tu fais system("cd /tmp" ) tu ne verras strictement rien. Mais c'est pas pour ça que cela n'aura pas marché...


Message édité par Sve@r le 17-06-2007 à 16:31:48

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Sujets relatifs:

Leave a Replay

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