0

私はこの質問と同じ問題を抱えてい ます.PythonインポートはPHPから呼び出されたときに失敗します が、今は別のインポートです.

スクリプトはコマンド ライン ( python uit.py) から動作しており、test.py'hello' というメッセージも動作しますが、uit.py(下のソース) を php から呼び出すと動作しません。私が得たのは戻りコード1だけです。試してみましたがexec(), passthru() and system(),、どれも「1」以外を返しませんでした。それが役立つ場合)

#!/usr/bin/python
# Hello world python
import RPi.GPIO as GPIO
print "Start";

GPIO.setmode(GPIO.BOARD);
GPIO.setup(16, GPIO.OUT)
GPIO.output(16, True)

print "Licht uit";

編集:私が今気づいたのは、コマンドラインからスクリプトを実行するとき、sudoスクリプトが次のように実行したいと言っているので、それをrootしなければならないということです(ルートとして実行しないと、「おそらくルートとして実行する」というエラーが表示されます?'.

それが仕事ができない理由になるのでしょうか?PHP が実行されているユーザーとして、Python スクリプトが PHP から呼び出されることはありますか?

sudo(コメントを参照)でステートメントを実行しましたが、phpユーザーが許可されていない可能性があることも読みましたsudoか?

4

1 に答える 1

1

私が今気づいたのは、コマンドラインからスクリプトを実行するとき、スクリプトがルートとして実行したいと言っているので、それをsudoする必要があるということです(ルートとして実行しないと、「おそらくルートとして実行する」というエラーが表示されます?'.

それが仕事ができない理由になるのでしょうか?PHP が実行されているユーザーとして、Python スクリプトが PHP から呼び出されることはありますか?

はい、それはあなたの問題です。Web サーバーはwww-data、root としてではなく、として実行されます。(このユーザーは、デフォルトでは sudo アクセスさえ持っていません。) Web サーバーのエラー ログを確認すると、おそらく "root として実行されますか?" というメッセージが表示されます。そこにエラーメッセージ。

于 2013-02-12T17:48:52.100 に答える