【问题标题】:Raspberry pi - run a python script through apache serverRaspberry pi - 通过 apache 服务器运行 python 脚本
【发布时间】:2014-05-15 18:52:35
【问题描述】:

我正在尝试想出一种通过 apache 在我的树莓派上运行 python 文件的方法。

要在 ssh 中运行程序,我输入 sudo python testfile.py 我已经尝试通过 php 使用 exec('sudo python /home/pi/python/testfile.py')

但不高兴,我的/var/log/apache2/error.log 出现错误

PHP Warning:  Unknown: failed to open stream: Permission denied in Unknown on line 0
 PHP Warning:  Unknown: failed to open stream: Permission denied in Unknown on line 0
PHP Fatal error:  Unknown: Failed opening required '/var/www/index2.php' (include_path='.:/usr/share/php:/usr/$

我也尝试过使用 cgi。但得到这个错误:

(13)Permission denied: exec of '/usr/lib/cgi-bin/runpython.cgi' failed
Premature end of script headers: runpython.cgi

我已经尽可能多地在谷歌上搜索,并在这里查看是否可以找到任何东西。

谁能提供一些帮助/建议?谢谢

【问题讨论】:

  • 运行 Apache 的用户是否有权执行您的runpython.cgi?您是否启用了 CGI?运行 Apache 的用户是否有权使用sudo? (顺便说一句,不要那样做。)这个/var/www/index2.php 怎么样?那里有什么重要的事情吗?那个 Python 脚本是什么?您是在尝试构建一个由 Python 支持的 Web 应用程序,还是您希望通过 Web 界面执行的 shell 脚本?
  • 几乎可以肯定与sudo的使用有关。当你通过shell执行程序(sudo)时,你必须输入密码,对吧? Apache 用户(可能是www-data)将如何做到这一点?有一些方法可以解决这个问题,但您将打开一罐与安全相关的蠕虫。

标签: php python apache cgi raspberry-pi


【解决方案1】:

看看mod_wsgi:https://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide

另外,您确定您的脚本需要以 root 身份运行吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-16
    • 2013-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-21
    • 1970-01-01
    相关资源
    最近更新 更多