Les Allergies
Alimentaires
Posez votre question Signaler

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

jerem1985 42Messages postés 17 novembre 2008Date d'inscription - Dernière réponse le 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
Lire la suite 

Executer un script shell avec exec de php »

3 réponses
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
theking1- 21 mars 2012 à 15:04
svp pouvez m'aider j'ai un probleme au niveau d'exécution d'un script sous php !!
Ajouter un commentaire
Ce document intitulé « executer un script shell avec exec de php » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?