web-dev-qa-db-fra.com

Exécuter un script python à partir de mon serveur php

Je souhaite accéder aux broches GPIO de mon Raspberry Pi depuis mon serveur PHP

J'ai le script python qui allume et éteint les voyants

Comment puis-je exécuter mon script python à partir de mon php? Cela ne me donne aucune erreur et il n'accède pas aux broches

Je comprends qu’avec Sudo le mot de passe est requis.

Php script:

<?php   
            echo "Query for:";
            echo $gpio;
            exec("Sudo python rungpio.py");
?>

https://stackoverflow.com/questions/31811253/execute-python-script-from-php Le lien ci-dessus ne vous aide pas beaucoup. Aide gentillement

1
Pandeyji

Je comprends qu’avec Sudo le mot de passe est requis.

Ce n'est pas nécessairement le cas. Comme le décrit la page de manuel sudoers , si vous mettez "NOPASSWD:", un mot de passe n’est pas nécessaire.

Par exemple:

www-data ALL = NOPASSWD: /usr/local/bin/rungpio.py

permettrait à l'utilisateur www-data d'exécuter /usr/local/bin/rungpio.py avec Sudo, sans exiger de mot de passe (veuillez noter qu'il doit être exécutable et commencer par un Shebang, tel que #!/usr/bin/env python).

Vous pouvez également modifier les autorisations des fichiers de l'appareil afin que l'utilisateur php s'exécute de manière à pouvoir les modifier et vous débarrasser de Sudo. Et même les changer directement, au lieu de devoir sauter en python.

1
Ángel