【问题标题】:Why does function not get executed when called through web server?为什么通过 Web 服务器调用函数时没有执行?
【发布时间】:2014-01-16 20:54:46
【问题描述】:

有一个python脚本:

#!/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 日志中也没有错误。还是没有光:(

【问题讨论】:

    标签: python ajax apache2 raspberry-pi raspbian


    【解决方案1】:

    问题是,apache 服务器以与我不同的用户 (www-data) 运行。将用户 (www-data) 添加到 /etc/sudoers 以获取需要以 root 身份运行的特定可执行文件有帮助。

    【讨论】:

      猜你喜欢
      • 2017-12-14
      • 2021-01-06
      • 1970-01-01
      • 2016-02-24
      • 1970-01-01
      • 2011-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多