Executer un script shell avec exec de php
Résolu
jerem1985
Messages postés
65
Date d'inscription
Statut
Membre
Dernière intervention
-
theking1 Messages postés 23 Date d'inscription Statut Membre Dernière intervention -
theking1 Messages postés 23 Date d'inscription Statut Membre Dernière intervention -
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
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
A voir également:
- Executer un script shell avec exec de php
- Classic shell - Télécharger - Personnalisation
- Script vidéo youtube - Guide
- Easy php - Télécharger - Divers Web & Internet
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
2 réponses
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
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