Deux scripts identiques, l'un marche l'autre non !

Bonjour, je suis en train de devenir fou sur un problème incompréhensible!

J’utilise la fonction shell_exec de PHP, voilà mon code:

if($_POST['stop'])
{
$monfichier = fopen('/var/www/serveurs/' . $uniqueid . '/stop.sh', 'w+');

fputs($monfichier, 'screen -p 0 -S ' . $_POST['array'] . ' -X stuff "stop' . "\n");
fputs($monfichier, '"');

fclose($monfichier);

shell_exec('chmod 755 /var/www/serveurs/' . $uniqueid . '/stop.sh');

$stop = '/var/www/serveurs/' . $uniqueid . '/stop.sh';

shell_exec($stop);
sleep(2);
}
if($_POST['start'])
{

$monfichier = fopen('/var/www/serveurs/' . $uniqueid . '/start.sh', 'w+');

fputs($monfichier, 'screen -dmS ' . $uniqueid . ' -s exec java -Xms128M -Xmx960M -jar minecraft_server.jar nogui');

fclose($monfichier);

shell_exec('chmod 755 /var/www/serveurs/' . $uniqueid . '/start.sh');

$start = '/var/www/serveurs/' . $uniqueid . '/start.sh';

shell_exec($start);

sleep(2);

}

Voilà la partie STOP et START sont identiques mis à part la commande écrite dans le fichier texte et le nom STOP et START.

La commande STOP fonctionne.

Mais pas la commande START, il crée bien le fichier start.sh, change les droits en 755, mais c’est comme si il n’y avait pas cette ligne: shell_exec($start);

Si je me logge en tant que www-data et que je fait ./start.sh ça fonctionne! ce n’est donc pas un problème de droit ou de fichier…

C’est vraiment bizarre je comprend vraiment pas!

Merci pour votre aide.

J’ai séparer la partie HTML de la partie PHP, la partie HTML est avec le reste du site dans /var/www/protected/admin_interface et la partie php dans le dossier du serveur /var/www/serveurs/$uniqueid/ et ça fonctionne, explicable?

Je déplace ce fil dans la section “programmation” où il aura mieux sa place.