Bonjour,

J'ai un code php qui exécute un script shell linux (type init.d) qui gère un programme.
Pour ce faire, j'ai sudo www-data sur ce script d'init.

Code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
$commands = array('start', 'stop', 'restart','status');
 
function action ($cmd)
{
   return exec("sudo /etc/init.d/programme $cmd");
}
 
if(isset($_GET['cmd']))
{
   if(in_array(($_GET['cmd']), $commands))
        echo action(htmlspecialchars($_GET['cmd']));
    else
        echo  "Command not  found";
}
Il gère parfaitement l'arrêt et le status.

Par contre il y a un problème avec le start: Il ne rend pas la main.
Je veux dire, que le programme se lance bien mais bloque le chargement (qui tourne dans le vide).
J'ai testé directement en console sh linux(su www-data), sans avoir rencontré le moindre problème.

J'ai aussi remarqué que lorsque je coupe apache (/etc/init.d/apache2 stop), cela coupe le programme... alors que apache devrait juste lancer le scrip via sudo.


Si quelqu'un a une idée ?


Merci,

Tlams.