Problème : Array() dans un php
Micka57130
-
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 :
Si vous avez quelques idées :)
Merci d'avane.
Cordialement,
Mickael.
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
'lut, le script shell, il a bien un shebang (
Si ce n'est pas le cas PHP (enfin, le noyau Linux lui-même, au travers du syscall
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é.
#!/bin/bashpar 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é.