Page 1 sur 1

[RESOLU] - Lancer un sript Python depuis PHP

Posté : jeu. 26 févr. 2015 14:45
par phdenaujan
Bonjour,

Je crée une page HTML de type formulaire. Les données sont enregistrées, par l’intermédiaire d'un code PHP dans un fichier txt.

Depuis ce fichier est créé via un code python lancé depuis le script PHP un fichier pikle à enregistrer dans home/pi.

Tout fonctionne tant que je reste dans le dossier www. mais dès que je modifie le chemin du fichier (pour aller dans home/pi), cela ne fonctionne plus (pas de création du fichier pikle dans le dossier home/pi).

Dans le script PHP :

Code : Tout sélectionner

exec('python3 creationFichier.py')
Dans le script Python :

Code : Tout sélectionner

chdir ("/home/pi")
fichier =open ("conf", "wb")
Lancé depuis la console, le script Python fonctionne sans problème avec création du fichier à l'endroit désigné.

Avez-vous une idée ?

Re: Lancer un sript Python depuis PHP

Posté : jeu. 26 févr. 2015 15:26
par Manfraid
je pense que c'est un problème de droit

le user www-data n'a pas le droit d'écrire dans le répertoire du user pi tout simplement

Re: Lancer un sript Python depuis PHP

Posté : jeu. 26 févr. 2015 16:35
par domi
Manfraid a écrit :je pense que c'est un problème de droit

le user www-data n'a pas le droit d'écrire dans le répertoire du user pi tout simplement
+1
C'est simplement un problème de droits

[RESOLU] - Lancer un sript Python depuis PHP

Posté : jeu. 26 févr. 2015 17:16
par phdenaujan
Merci pour vos réponses. Pour éviter de changer les droits d’accès, je vais donc aller chercher le dossier dans le dossier /www plutôt que le l'envoyer vers /pi

Re: [RESOLU] - Lancer un sript Python depuis PHP

Posté : sam. 21 mars 2015 19:11
par oxy34070
Salut,
Je ne sais pas si tu as résolu ton problème, mais au cas ou pour les autres , pour ne plus avoir de problème de droits sur les scripts python:
une fois le script créé:
sudo chmod +x /chemin/du/script.py
sudo chown www-data /chemin/du/script.py
ensuite : sudo visudo
et sous dans la categorie "user privilege specification" sous root : ....
il faut créer une ligne avec le chemin:
www-data ALL=(ALL) NOPASSWD: /chemin/du/script.py

A faire pour touts les scripts python qui doivent être appelés de l’extérieur.

Re: [RESOLU] - Lancer un sript Python depuis PHP

Posté : mer. 25 mars 2015 23:02
par phdenaujan
Bonsoir,

Oxy, tu devances mes problèmes... En effet, hier j'ai bidouillé le fichier sudoers sans sucés. En fait j'avais résolu provisoirement le problème en plaçant mon script dans le dossier www.

Je penses en fait avoir aussi un problème avec le chmod sur mon script.

Normalement, un "./monscript.py" devrait pouvoir le lancer (enfin je crois). Or rien. De plus, lors que fais un skeleton pour un démarrage auto, je suis dans l'obligation de lancer python (NAME=python) avec en argument le chemin de mon script. Est-ce normal ?

Pour résumer, je rame...

Dans mon fichier .py

Code : Tout sélectionner

#!/usr/bin/env python
# -*- coding: latin-1 -*-