Executer un script shell avec exec de php [Résolu/Fermé]

Signaler
Messages postés
65
Date d'inscription
lundi 17 novembre 2008
Statut
Membre
Dernière intervention
19 novembre 2009
-
Messages postés
23
Date d'inscription
mercredi 21 mars 2012
Statut
Membre
Dernière intervention
22 mars 2012
-
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

Messages postés
65
Date d'inscription
lundi 17 novembre 2008
Statut
Membre
Dernière intervention
19 novembre 2009
2
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
Messages postés
65
Date d'inscription
lundi 17 novembre 2008
Statut
Membre
Dernière intervention
19 novembre 2009
2
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
Messages postés
23
Date d'inscription
mercredi 21 mars 2012
Statut
Membre
Dernière intervention
22 mars 2012

svp pouvez m'aider j'ai un probleme au niveau d'exécution d'un script sous php !!