Problème : Array() dans un php

Fermé
Micka57130 - 15 mai 2015 à 10:51
 Micka57130 - 15 mai 2015 à 11:08
Bonjour, voici ma situation : j'ai lancé un processus qui tourne en boucle. Je souhaite l'arrêter en cliquant sur un bouton sur une page html. Le script shell fonctionne, il arrête bien le processus. Cependant quand je clique sur le bouton j'ai un :"Array ()" qui apparaît et le processus continue de tourner.

Voici mon code php :

<?php

$scriptFile = "/home/pi/camera_pi/kill.sh";

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

<form action="kill.php" method="post">
<input type="submit" name="script" value="Tuer le script" />
</form>


Si vous avez quelques idées :)
Merci d'avane.
Cordialement,

Mickael.

2 réponses

ElementW Messages postés 4814 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 227
15 mai 2015 à 11:00
'lut, le script shell, il a bien un shebang (
#!/bin/bash
par ex) en tant que première ligne?
Si ce n'est pas le cas PHP (enfin, le noyau Linux lui-même, au travers du syscall
exec
) ne saura pas avec quoi l'exécuter.
Dans ton shell ça marche car quand tu tapes le nom du script il reconnaît qu'il est exécutable et que c'est un fichier texte, donc potentiellement un script, et l'exécute avec le même shell, sauf s'il y a un shebang qui précise quel processus doit être invoqué.
0
Merci de ta réponse.
Oui il a bien un shebang en première ligne.
0