Problème : Array() dans un php

Micka57130 -  
 Micka57130 -
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 5690 Statut Contributeur 1 224
 
'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
Micka57130
 
Merci de ta réponse.
Oui il a bien un shebang en première ligne.
0