Bash avec des boucles à exécuter avec du PHP

Bash avec des boucles à exécuter avec du PHP - PHP - Programmation

Marsh Posté le 07-02-2013 à 10:40:38    

Bonjour,
 
Je cherche à faire une page PHP qui exécute des scripts en bash.  
J'ai fini par trouver comment afficher toutes les lignes renvoyées par le script dans la page PHP en cherchant dans le forum (et pas seulement la dernière...).
 
Par contre, si la page PHP exécute bien le script via un exec() et m'affiche bien les echo, elle ne semble pas rentrer dans les tests if du script. Si j'exécute mon script directement sur le serveur, il fonctionne.
 
Est-ce normal (impossibilité de le faire) ou faut-il utiliser une fonction PHP spécifique ?
Il est très probable que le script bash en question soit réalisable directement en php, mais je ne fais du PHP que depuis... disons une petite heure...  :whistle: Et les scripts shell sont déjà existants et utilisés en direct. Le principe serait d'avoir une autre méthode d'exécution (en gardant les deux). Donc cela m'embêterais de devoir les transcrire en php.
 
Je peux apporter des précisions si besoin, je ne suis pas certain d'être très clair !  :sarcastic:  
 
Merci !

Reply

Marsh Posté le 07-02-2013 à 10:40:38   

Reply

Marsh Posté le 07-02-2013 à 16:55:39    

Tu parles de condition en php ou en bash ?
 
Il fait quoi le bash en question ?

Reply

Marsh Posté le 08-02-2013 à 10:20:44    

Bonjour,
 
En gros, la page PHP ne servirait qu'à lancer un script bash et à afficher son résultat.
Le bash en question me sert à connaître le chemin emprunté par un traceroute.  
 

Code :
  1. var=`traceroute 10.20.30.40 -d | grep 192.68.1.1 | wc -l`
  2. if [ $var == 1 ]
  3. then
  4.         echo "Via 192.168.1.1"
  5. fi


 
Ce bash fonctionne si je l’exécute sur le serveur. Mais via la page PHP, "Chemin 1" ne s'affiche jamais.
Si je place un echo hors du if, il s'affiche correctement dans la page PHP.
 
J'ai testé de multiples fonctions PHP, j'ai toujours le problème.
 
(J'ai réussi à faire ce que je voulais en PHP, sans passer par le script bash. Mais j'aimerais quand même bien avoir la réponse à mon premier problème. Cela pourrait me servir pour la suite.  :) )
 
Merci !

Reply

Sujets relatifs:

Leave a Replay

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