[resolu]Lancer un script Python en PHP

Python est le langage de prédilection du Raspberry Pi

Modérateurs : Francois, Manfraid

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

[resolu]Lancer un script Python en PHP

Message par zeverybest » dim. 7 déc. 2014 18:40

bonjour a tous

Dois je mettre ce post dans la rubrique Python ou PHP?

Voilà
Je voudrai, depuis une page web en PHP, lancer un script Python

J'ai trouver plein de chose sur le net qui devraient fonctionner, mais rien ne fonctionne (exécuté, Shell, ...)
J'ai donner les droit d'exécution a tout le monde (j'ai pas fait dans la dentelle avec un chmod 777, comme ça, pas de risque
Le "orner" du fichier est ROOT

Mais, rien ne fonctionne

Quelqu'un a t il déjà fait ça, et réussi à le faire fonctionner?

Si oui, je suis preneur de l'astuce

Cordialement
Modifié en dernier par zeverybest le jeu. 11 déc. 2014 20:57, modifié 1 fois.

EVOTk

Re: Lancer un script Python en PHP

Message par EVOTk » dim. 7 déc. 2014 18:55

Salut;

J'avais essayer et j'avais au des petit problemes que javais resolu comme ceci ( de mémoire )

Edition de etc/sudoers :
Javais rajouter la permission suivante !
www-data ALL=(ALL) NOPASSWD:ALL
Sa marcher, par contre, avec cette ligne on autorise TOUT, se n'est donc pas tres "safe" cetait juste pour un essai donc je n'avais pas creuser plus loin

Avatar du membre
vague nerd
Modérateur
Messages : 1473
Enregistré le : mar. 14 oct. 2014 11:42
Localisation : France !

Re: Lancer un script Python en PHP

Message par vague nerd » dim. 7 déc. 2014 20:15

Bonjour.

Si vous utilisez apache pour exécuter le php, il faut donner les droits à www-data.
C'est le user utilisé par apache, qui va réellement lancer le shell.

Pour donner les droits à www-data sur cake, j'a fait :

Code : Tout sélectionner

sudo chown -R yourname:www-data cake
sudo chmod -R g+s cake
La première commande change les owner et groupe, la seconde ajoute l'attribut nécessaire pour que les sous répertoires de cake aient les même doits.

Un chmod 777, ou l'ajout de www-data aux sudoers me semble disproportionné !

Cordialement.
Cordialement,

Vague Nerd

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

Re: Lancer un script Python en PHP

Message par zeverybest » lun. 8 déc. 2014 08:34

Mais biensur, les droit doivent etre donné a www-data et non www come j'avais essayer de faire

Je teste ça rapidement

C'est evident que si cela fonctionne, la restriction des droits sera appliqué

Merci

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

Re: Lancer un script Python en PHP

Message par domi » lun. 8 déc. 2014 11:20

Bonjour,

Petite précision, la modification du sudoers est nécessaire uniquement si la commande python doit être exécutée par PHP en mode root, c'est à dire à l'aide de "sudo".
Mais par sécurité, ne pas mettre en ALL, ajouter à www-data juste la commande nécessaire.

Cdt
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
Conception d'une station météo DIY, et envoi des infos à votre Domotique.

Avatar du membre
vague nerd
Modérateur
Messages : 1473
Enregistré le : mar. 14 oct. 2014 11:42
Localisation : France !

Re: Lancer un script Python en PHP

Message par vague nerd » lun. 8 déc. 2014 13:02

+1 à domi.

Dites-nous si ça marche, et merci d'ajouter un "[RESOLU]" dans le titre du premier post, le cas échéant !

Cdt.
Cordialement,

Vague Nerd

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

Re: Lancer un script Python en PHP

Message par zeverybest » lun. 8 déc. 2014 17:45

Je ne pourrais pas essayer avant jeudi, mais je vous fait un feedback des que c'est fait

nexen
Raspinaute
Messages : 175
Enregistré le : lun. 29 sept. 2014 13:58

Re: Lancer un script Python en PHP

Message par nexen » mar. 9 déc. 2014 14:07

Hello :)

Autre possibilité : Vérifie les paramètres du PHP.INI .... Il peux y avoir une restriction sur le lancement de commande shell :)

cordialement.

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

Re: Lancer un script Python en PHP

Message par zeverybest » mar. 9 déc. 2014 16:39

Ah

Et quelles restrictions?
Il faut en dire plus

Cela dit, une commande shell sur un ls ou un pwd fonctionne très bien, donc ça ne doit pas etre ça

Mais l'info peut quand même être interessante

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 11:02

vague nerd a écrit :Bonjour.

Si vous utilisez apache pour exécuter le php, il faut donner les droits à www-data.
C'est le user utilisé par apache, qui va réellement lancer le shell.

Pour donner les droits à www-data sur cake, j'a fait :

Code : Tout sélectionner

sudo chown -R yourname:www-data cake
sudo chmod -R g+s cake
La première commande change les owner et groupe, la seconde ajoute l'attribut nécessaire pour que les sous répertoires de cake aient les même doits.

Un chmod 777, ou l'ajout de www-data aux sudoers me semble disproportionné !

Cordialement.
J'ai fait tout comme tu as dis et ça ne fonctionne pas

un system("ls") fonctionne mais un system ("python monfichier.py") ne fonctionne pas

j'ai essayé : system ("python monfichier.py") , system ("./python monfichier.py") , system ("python /cheminComplet/monfichier.py")

Rien ne fonctionne

Répondre

Retourner vers « Python »