[resolu]Lancer un script Python en PHP

Python est le langage de prédilection du Raspberry Pi

Modérateurs : Francois, Manfraid

mike913
Raspinaute
Messages : 161
Enregistré le : mar. 7 oct. 2014 09:46
Localisation : Morsang / Orge - Essonne
Contact :

Re: Lancer un script Python en PHP

Message par mike913 » jeu. 11 déc. 2014 13:58

zeverybest a écrit : Le message error.log de /var/log/apache2 me donne ceci :

Traceback (most recent call last):
File"/var/www/brouillon/monfichier.py, line3 in <module>
import RPi.GPIO as GPIO
RPi.GPIO.setupExecution : No acces to /dev/mem. Try running as root

Pourtant, j'ai donné tous les droit a monfichier.py et l'ai associé a www-data
le message est clair: www-data n' a pas accès à /dev/mem essayez en tant que root.
DS712+ 2x Western Digital WD10EADS-00L 1000 GB (SHR) - Firmware: DSM 6.1.6-15266
Raspberry - RFXTRX433 - Aeon Labs ZStick V2 - Domoticz
FreeBox v6
https://meteo.folcke.net
https://wiki.folcke.fr

zeverybest
Raspinaute
Messages : 136
Enregistré le : sam. 18 oct. 2014 19:09

Re: Lancer un script Python en PHP

Message par zeverybest » jeu. 11 déc. 2014 14:01

vague nerd a écrit :Nous sommes plusieurs à vous avoir recommander de tester en utilisant des noms de fichiers absolus, c'est à dire en indiquant le répertoire complet du fichier. Par exemple /home/pi/script.sh.
Avez-vous essayé ? J'ai raté quelque chose ?

Cdt.
Absloument
monfichier.py se trouve dans : /var/www/brouillon et j'ai essayé cette syntaxe : python /var/www/brouillon/monfichier.py

J'ai d’ailleurs essayé avec ou sans le chemin complet

zeverybest
Raspinaute
Messages : 136
Enregistré le : sam. 18 oct. 2014 19:09

Re: Lancer un script Python en PHP

Message par zeverybest » jeu. 11 déc. 2014 14:05

mike913 a écrit :
zeverybest a écrit : Le message error.log de /var/log/apache2 me donne ceci :

Traceback (most recent call last):
File"/var/www/brouillon/monfichier.py, line3 in <module>
import RPi.GPIO as GPIO
RPi.GPIO.setupExecution : No acces to /dev/mem. Try running as root

Pourtant, j'ai donné tous les droit a monfichier.py et l'ai associé a www-data
le message est clair: www-data n' a pas accès à /dev/mem essayez en tant que root.
Comment puis je essayer en ROOT depuis mon interface PHP?

En console sur le raspberry, cela fonctionne avec sudo devant ma ligne, mais en mettant sudo dans la ligne de mon system() en php j'ai le message : sudo : no tty present and no askpass program specified dans le error.log

mike913
Raspinaute
Messages : 161
Enregistré le : mar. 7 oct. 2014 09:46
Localisation : Morsang / Orge - Essonne
Contact :

Re: Lancer un script Python en PHP

Message par mike913 » jeu. 11 déc. 2014 14:45

Il faut ajouter www-data au groupe propriétaire du device.
J' avais le même problème avec ttyUSB0 qui appartient au groupe dialout, et donc pour y avoir accès à partir d' apache:
sudo usermod -a -G dialout www-data
mais dans ton cas je ne sais pas le groupe propriétaire de /dev/mem
DS712+ 2x Western Digital WD10EADS-00L 1000 GB (SHR) - Firmware: DSM 6.1.6-15266
Raspberry - RFXTRX433 - Aeon Labs ZStick V2 - Domoticz
FreeBox v6
https://meteo.folcke.net
https://wiki.folcke.fr

zeverybest
Raspinaute
Messages : 136
Enregistré le : sam. 18 oct. 2014 19:09

Re: Lancer un script Python en PHP

Message par zeverybest » jeu. 11 déc. 2014 14:49

mike913 a écrit :Il faut ajouter www-data au groupe propriétaire du device.
J' avais le même problème avec ttyUSB0 qui appartient au groupe dialout, et donc pour y avoir accès à partir d' apache:
sudo usermod -a -G dialout www-data
mais dans ton cas je ne sais pas le groupe propriétaire de /dev/mem
c'est ROOT qui est propriétaire du fichier /dev/mem

mike913
Raspinaute
Messages : 161
Enregistré le : mar. 7 oct. 2014 09:46
Localisation : Morsang / Orge - Essonne
Contact :

Re: Lancer un script Python en PHP

Message par mike913 » jeu. 11 déc. 2014 14:50

Root est le propriétaire mais il y a aussi un groupe, et c'est le groupe quil faut connaitre.
DS712+ 2x Western Digital WD10EADS-00L 1000 GB (SHR) - Firmware: DSM 6.1.6-15266
Raspberry - RFXTRX433 - Aeon Labs ZStick V2 - Domoticz
FreeBox v6
https://meteo.folcke.net
https://wiki.folcke.fr

zeverybest
Raspinaute
Messages : 136
Enregistré le : sam. 18 oct. 2014 19:09

Re: Lancer un script Python en PHP

Message par zeverybest » jeu. 11 déc. 2014 15:11

mike913 a écrit :Root est le propriétaire mais il y a aussi un groupe, et c'est le groupe quil faut connaitre.
kmem

domi
Administrateur
Messages : 2789
Enregistré le : mer. 17 sept. 2014 18:12
Localisation : Seine et Marne

Re: Lancer un script Python en PHP

Message par domi » jeu. 11 déc. 2014 18:07

Bonjour,

De mémoire, il faut bien lancer le script Python via la commande sudo depuis la ligne d'exécution PHP.

Mais pour ce faire, il faut ajouter dans le sudoers l'autorisation à www-data de lancer cette commande avec sudo.
Passionné de Raspberry, Arduino, ESP8266, ESP32, et objets connectés :
Spécial débutant, concevez vous-même votre domotique DIY : https://www.youtube.com/c/DomoticDIY

zeverybest
Raspinaute
Messages : 136
Enregistré le : sam. 18 oct. 2014 19:09

Re: Lancer un script Python en PHP

Message par zeverybest » jeu. 11 déc. 2014 18:13

en ajoutant ça?

www-data ALL=(ALL) NOPASSWD:ALL

c'est bien ça?

zeverybest
Raspinaute
Messages : 136
Enregistré le : sam. 18 oct. 2014 19:09

Re: Lancer un script Python en PHP

Message par zeverybest » jeu. 11 déc. 2014 18:17

Genial

ça fonctionne

100000 Merci

Répondre

Retourner vers « Python »