Exécuter un fchier shell depuis un fichier php [Résolu/Fermé]

Signaler
Messages postés
8
Date d'inscription
mercredi 13 mai 2015
Statut
Membre
Dernière intervention
20 novembre 2015
-
Messages postés
8
Date d'inscription
mercredi 13 mai 2015
Statut
Membre
Dernière intervention
20 novembre 2015
-
Bonjour à tous,

Actuellement en projet, je dois exécuter un fichier shell (taka.sh) à partir d'un bouton sur une page html. J'ai pour cela écrit un petit programme en php pour exécuter le fichier shell.
<?php
if(isset($_POST['script']))
{
exec('./taka.sh');

}

<form action="controle.php" method="post">
<p>
<input type="submit" name="script" value="Lancer" />
</p>
</form>
?>

J'ai bien le bouton sur la page html, cependant le shell ne s'exécute pas.

PS: le shell fonctionne. Désolé pour cette demande un peu vague, je débute.
Merci d'avance.
Cordialement.

Micka

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Merci d'y penser dans tes prochains messages.
.

2 réponses

Messages postés
28935
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 juillet 2020
2 608
Bonjour,

Déjà, tu peux regarder ce que retourne la commande EXEC au moment de son exécution.
Tu peux aussi t'assurer que le script est bien trouvé ...
<?php

$scriptFile = "./taka.sh";

if(isset($_POST['script'])) {
 if(file_exists(scriptFile)){
  exec($scriptFile , $arrOP, $retVal);
  print_r($arrOP);
  print_r($retVal);
 }else{
 echo "Fichier $scriptFile  introuvable ! ";
 }
}


Si ça ne fonctionne toujours pas, vérifies aussi les droits sur tes répertoires.
Messages postés
8
Date d'inscription
mercredi 13 mai 2015
Statut
Membre
Dernière intervention
20 novembre 2015

Merci de ta réponse.

J'ai testé ton code. Le fichier est introuvable.
Il a bien tous les droits.

Cordialement,
Mickael.
Messages postés
8
Date d'inscription
mercredi 13 mai 2015
Statut
Membre
Dernière intervention
20 novembre 2015
>
Messages postés
28935
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 juillet 2020

Quel message d'erreur ?
J'ai juste un retour sur la page html :" Fichier ./taka.sh introuvable ! "

Le fichier se trouve bien dans le bon répertoire.
Messages postés
28935
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 juillet 2020
2 608
Oups .. petite erreur de copier/coller de ma part
Il manque un $ devant la variable dans le IF

<?php

$scriptFile = "./taka.sh";

if(isset($_POST['script'])) {
 if(file_exists($scriptFile)){
  exec($scriptFile , $arrOP, $retVal);
  print_r($arrOP);
  print_r($retVal);
 }else{
 echo "Fichier $scriptFile  introuvable ! ";
 }
}
Messages postés
8
Date d'inscription
mercredi 13 mai 2015
Statut
Membre
Dernière intervention
20 novembre 2015
>
Messages postés
28935
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 juillet 2020

Effectivement, le fichier n'est plus introuvable.
Cependant la page web "charge" indéfiniment. Impossibilité de voir si le code fonctionne donc.
Messages postés
28935
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 juillet 2020
2 608 >
Messages postés
8
Date d'inscription
mercredi 13 mai 2015
Statut
Membre
Dernière intervention
20 novembre 2015

Après.. tout dépend de ce que contient ton script sh.
Tu as essayé de faire un script qui ne ferait qu'un LS par exemple ?
Messages postés
8
Date d'inscription
mercredi 13 mai 2015
Statut
Membre
Dernière intervention
20 novembre 2015

C'est bon. Cela fonctionne.

Merci à toi pour tes réponses !

Bonne journée.