web-dev-qa-db-ja.com

PHPサーバーからpythonスクリプトを実行する

PHPサーバーからRaspberry PiのGPIOピンにアクセスしたい

LEDライトのオンとオフを切り替えるpythonスクリプトがあります

Phpからpythonスクリプトを実行するにはどうすればよいですか?エラーが発生せず、ピンにアクセスしません

Sudoではパスワードが必要であることを理解しています。

PHPスクリプト:

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

https://stackoverflow.com/questions/31811253/execute-python-script-from-php 上記のリンクはあまり役に立ちません。親切に助けて

1
Pandeyji

Sudoではパスワードが必要であることを理解しています。

必ずしもそうとは限りません。 sudoersのmanページで説明 のように、「NOPASSWD:」と入力すると、パスワードは不要です。

例えば:

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

パスワードを必要とせずに、ユーザーwww-data/usr/local/bin/rungpio.pyをSudoで実行することを許可します(実行可能で、#!/usr/bin/env pythonなどのShebangで開始する必要があることに注意してください)。

または、デバイスファイルのアクセス許可を変更して、ユーザーphpが実行できるように変更して、Sudoを削除することもできます。さらに、Pythonにジャンプする必要なく、直接変更します。

1
Ángel