Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3086 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Commande shell_exec via php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Commande shell_exec via php

n°2149506
GgdaG03
Posté le 16-07-2012 à 15:42:04  profilanswer
 

Bonjour,
 
Je souhaite faire appelle a la commande "shell_exec" via une page php. Lorsque j'effectue la commande suivante, tout fonctionne bien :

Code :
  1. $output = shell_exec('echo toto >> /etc/mon_fichier');


Mais malheureusement lorsque je fais appelle a un programme (mpg321 en l’occurrence ici), cela ne fonctionne pas :

Code :
  1. $output = shell_exec('mpg321 mon_fichier.mp3 -w raw && oggenc raw -o mon_fichier.ogg &');


La commande en elle même est correcte et fonctionne bien lorsque je la passe directement dans mon shell mais ne marche pas via ma page php.  
 
Avez-vous une idée de ce qui pourrait être mon problème ? Ou avez-vous une solution afin que je puisse savoir ce que le shell renvoie comme erreur (si il y a) ?  
Merci.
 
Pour info, je suis sur un serveur linux (Ubuntu server 12.04) avec PHP 5.3.10-1ubuntu3.2


---------------
Ggdagg - www.flecheinthepeche.fr
mood
Publicité
Posté le 16-07-2012 à 15:42:04  profilanswer
 

n°2149524
KLeMiX
Laisse pas trainer ton site
Posté le 16-07-2012 à 16:24:23  profilanswer
 

A mon avis ton shell ne connait pas le chemin ton programme mpg321


---------------
www.pronovolley.fr Faites vos prono sur la ligue de Volley et défiez vos amis. Des cadeaux en fin d'année  www.levoll.fr
n°2149531
GgdaG03
Posté le 16-07-2012 à 17:29:20  profilanswer
 

Merci KLeMiX pour ta réponse mais en fait, c’était juste un problème de guillemets. Voici donc la bonne ligne :

Code :
  1. $output = shell_exec("mpg321 mon_fichier.mp3 -w raw && oggenc raw -o mon_fichier.ogg &" );


Cependant, je voudrai insérer une variable et la, ce ne fonctionne pas de nouveau :

Code :
  1. $output = shell_exec("mpg321" . $ma_variable . " -w raw && oggenc raw -o mon_fichier.ogg &" );


J'ai essayé toutes les guillemets possibles mais rien a faire :(


---------------
Ggdagg - www.flecheinthepeche.fr
n°2149535
KLeMiX
Laisse pas trainer ton site
Posté le 16-07-2012 à 17:54:22  profilanswer
 

Moi je decouperai en 2 partis
 
$Vexecute='mpg321' . $ma_variable . ' -w raw && oggenc raw -o ' . $mon_fichier.ogg. ' &';
 
$output = shell_exec($Vexecute );


---------------
www.pronovolley.fr Faites vos prono sur la ligue de Volley et défiez vos amis. Des cadeaux en fin d'année  www.levoll.fr
n°2149652
GgdaG03
Posté le 17-07-2012 à 13:11:28  profilanswer
 

Parfait ! Merci beaucoup.  
En effet, il faut découper en 2 parties pour que shell_exec exécute correctement la commande comme si cette fonction n'aimait pas les variables
Assez étonnant puisque par exemple ca :

Code :
  1. $output = shell_exec('echo ' . $ma_variable . ' >> /mon_fichier.txt');


fonctionne parfaitement.
Merci


---------------
Ggdagg - www.flecheinthepeche.fr

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Commande shell_exec via php

 

Sujets relatifs
Lancement d'un shell comme s'il s'agissait d'une connexion[BATCH] Afficher + logger une commande
Lire un fichier en Shell avec une boucleprobleme reponse a l'excecution d'une commande par code
[SHELL UNIX] Fermer le terminal a la fin d un script shell[Shell Unix] Trace dans console + log
enregistrer des actions et en faire une "macro"rajouter une commande au menu clic droit
Shell Unix : Extraire une valeur d'un fichier[Shell] commande via ssh
Plus de sujets relatifs à : Commande shell_exec via php


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR