【发布时间】: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