ldleman / yana-server

Interface PHP de domotique Y.A.N.A (You Are Not Alone)
http://projet.idleman.fr/yana
107 stars 59 forks source link

Server_command sans valeur de retour. #274

Closed magicmars35 closed 8 years ago

magicmars35 commented 8 years ago

Salut,

Petite question concernant les server_command de Yana: Je n'arrive pas à avoir des valeurs de retour lors de l’exécution d'une commande serveur , même simple. J'ai essayé l'exemple de Idleman "ls -l", ou n'importe quelle autre commande. Yana fonctionne sous raspbian jessy.

Lors de l’exécution de la requête , avec un client Android, aucune réaction. Avec le client Windows, les logs indiquent que la fonction ne retourne rien. Exemple avec df -h

01/09/2016 21:52:35 YANA espace disque - reconnue à 0,7564785 sur 0,59 : Validée
01/09/2016 21:52:35 Url à lancer : http://192.168.1.3:8001/yana-server/action.php?action=speechcommands_execute&command=1
01/09/2016 21:52:35Reponse :{}

J'ai bien vérifié les droits sont donnés aux répertoires :

sudo chown -R www-data:www-data /var/www/yana-server && sudo chown root:www-data /var/www/yana-server/plugins/radioRelay/radioEmission && sudo chmod +s /var/www/yana-server/plugins/radioRelay/radioEmission

En lançant la commande avec le user www-data :

sudo -u www-data ls -l me retourne bien la liste des répertoires en retour, l'utilisateur www-data est bien autorisé à lancer la commande.

Au début , Yana était configuré dans un Apache qui tournais avec d'autres scripts ... du coup je suis parti sur le script d'install auto curl , et ai installé Yana sur un lighttpd a coté, tournant sur un autre port.... même souci.

Avez-vous une idée de ce problème ou d'autre indice de résolution ?

Toutes autres fonctions de Yana marchent nikel sinon ;

Merci à vous et à Idleman pour ton taf de ouf :)

magicmars35 commented 8 years ago

Pour préciser, j'ai également fait un fichier test.php sur /var/www/yana-server/ , et vérifié les droits de www-data.

<?php
$retour = shell_exec('ls -lath');
echo "<pre>$retour</pre>";
?>

la page test.php me retourne bien le résultat de la commande...

j'ai également rajouté www-data ALL=NOPASSWD: ALL dans visudo , toujours sans effet... sur les server_command de yana ...

ldleman commented 8 years ago

Salut @magicmars35 , Effectivement, le problème ne venais pas de toi mais du code. Visiblement j'ai oublié d'implémenter le retour, ou je l'ai dézingué après coup sans faire gaffe, désolé :D

C'est corrigé, peux tu faire un update et revérifier que ça fonctionne ? :)

magicmars35 commented 8 years ago

Merci Idle pour le correctif rapide, ça tourne bon week