Executer un script shell avec exec de php

Résolu/Fermé
jerem1985 Messages postés 65 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 19 novembre 2009 - 19 nov. 2008 à 13:45
theking1 Messages postés 23 Date d'inscription mercredi 21 mars 2012 Statut Membre Dernière intervention 22 mars 2012 - 21 mars 2012 à 15:04
Bonjour,

voila ce qui m'ammene, j'ai une page php contenant un formulaire a remplir, une fois ce formulaire rempli et soumis, les valeurs sont envoyer à un script shell

voila ma page php : page.php

je zape la partie head et une partie du body pour arriver directement au formulaire

<form id="FormText" action="page.php" onsubmit " " method="post">
<table width="30%" class="ignorer">
<td align="center" class="ignorer">selection 1</td>
<select size="1" name"var1" class="ignorer">
<option value="1">srv-prod</option>
<option value="2">srv-test</option>
</select>
</table>
<td class="ignorer">saisir info2</td>
info2:
<br><input type="text" name="var2" size="20" class="ignorer"></br>
<p></p>
<input value="soumettre" onclick="submit" type="submit">
</form>

<?php
$path="/path/de/mon/script.sh $var1 $var2";
$sortie="/path/de/mon/sortie";
$retour="/path/de/mon/retour";

exec ($path,$sortie,$retour);
foreach ($sortie as $text)

{
echo $text;
echo "<br>";
}
if ($retour=0) echo "erreur";
?>


et mon script .sh

#!/bin/sh

echo $1 > /tmp/res.txt
echo $2 >> /tmp/res.txt

voila
donc quand je remplie mon formulaire de ma page php et que je clique sur soumettre, la page doit envoyer $var1 et $var2 dans mon script, et mon script doit donc écrire ces deux valeurs (devenus $1 et $2 le exec de la page lance le script en passant les variables en même temps) dans le fichier res.txt

cependant lorsque je clique sur soumettre il n'y a rien dans mon res.txt
la page ne me retourne pas d'erreur
les log d'apache me confirment que le post ce fais bien

si quelqu'un à une idée merci d'avance

2 réponses

jerem1985 Messages postés 65 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 19 novembre 2009 2
19 nov. 2008 à 13:57
j'ai transforme ma page php en une page html comme suit
page.html

je zape la partie head et une partie du body pour arriver directement au formulaire
<html>
<head>
<title>test</title>
</head>

<body>
<form id="FormText" action="page.php" onsubmit " " method="post">
<table width="30%" class="ignorer">
<td align="center" class="ignorer">selection 1</td>
<select size="1" name"var1" class="ignorer">
<option value="1">srv-prod</option>
<option value="2">srv-test</option>
</select>
</table>
<td class="ignorer">saisir info2</td>
info2:
<br><input type="text" name="var2" size="20" class="ignorer"></br>
<p></p>
<input value="soumettre" onclick="submit" type="submit">
</form>
</body>
</html>

j'ai créer une deuxieme page php permettant de verifier les variables
page.php
<html>
<head>
<title>test2</title>
</head>
<body>
<h1> resultat</h1>
<?php
//variable var1 et var2 étant envoye par page.html lors du clique sur soumettre
$path="path/de/script.sh $var1 $var2";
//test d'envoye des variable
echo $path;
?>
</body>
</html>

voila

du coup lorsque je vais sur ma page.html je remplis le formulaire et je clique sur soumettre
et j'arrive sur page.php, cette derniere affiche :
juste path/de/scipt.sh sans les variables, du coup je pense que l'envoye des variables par page.html se fait pas ou mal

si quelqu'un à une idée, merci d'avance
0
jerem1985 Messages postés 65 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 19 novembre 2009 2
19 nov. 2008 à 14:25
du coup j'ai trouver mon probleme

il venait de ma conf php
je suis en php 4.3.9 et depuis la 4.2 par defaut la valeur global_registers est à off du coup mes variables n'était pas passé tel quelles
en passant la valeur à on tous marche nicquel

voila

si sa peut servir à d'autre
0
theking1 Messages postés 23 Date d'inscription mercredi 21 mars 2012 Statut Membre Dernière intervention 22 mars 2012
21 mars 2012 à 15:04
svp pouvez m'aider j'ai un probleme au niveau d'exécution d'un script sous php !!
0