2014-01-16 29 views
0

有一個python腳本:爲什麼通過Web服務器調用函數時不會執行?

#!/usr/bin/env python 
import sys 
import subprocess 

subprocess.call("sudo /var/www/scripts/setPwm "+ sys.argv[1],shell=True) 
print ("Content-type: text/plain;charset=utf-8\n\n") 
print("sudo /var/www/scripts/setPwm "+ sys.argv[1]) 
print("ok\n") 

在本地運行它亮了特定強度的LED。當通過網站調用時,它可以正確打印,但LED不亮。

當我打電話

http://sauna/scripts/setLED.py?1000 

這是印刷:

sudo /var/www/scripts/setPwm 1000 
ok 

這樣的說法顯然是正確傳遞,也有在Apache日誌中沒有錯誤。仍然沒有光:(

回答

0

的問題是,即apache的服務器上運行作爲不同的用戶(www-data)大於1.添加用戶(www-data)至/etc/sudoers爲需要作爲根幫助要運行的特定可執行。

相關問題