通过phpbutton执行一个python脚本

我正在通过使用PHP上的button执行我的Python脚本的问题。 我查看了任何或所有有关我的问题的相关问题,并尝试了任何我能find并修改文件名的解答。 这是我的网站上的PHP代码:

<FORM> <button type="button" onclick="parent.location='action.php'">open</button> </FORM> 

PHP代码将执行python脚本,我写道:

  <? exec("python /var/www/open.py") ?> 

该网站的工作原理,当我手动执行它在terminal上的Python脚本工作。 但是,当我尝试点击我的网站上的button,没有任何反应。 我也去了,改变了sudoers文件的configuration,这样www-data函数就不用使用密码了,而且还在/var/www/open.py上做了chmod gu + x。

还有什么我可能会失踪? 有人能帮助我吗?

谢谢。

这可能只是一个PATH问题,因为用户www-data没有设置path。 尝试使用:

 <? exec("/usr/bin/python /var/www/open.py") ?> 

看看是否有所作为(首先用/usr/bin/python检查/usr/bin/python是否为正确的path)。

可能有两条途径解决:

  1. 直接取http://my.site.com/action.php ,并确认代码执行的方式。 在一些PHP的问题的情况下。

  2. SELinux:如果您的SELinux设置为“强制执行”,请尝试临时禁用它,以确认它不在妨碍之列:“setenforcing Permissive”。 如果这能解决问题 – 你知道你需要调整的东西。 首先,我怀疑任何默认策略都会允许/ var / www目录中的可执行脚本,请检查您的发行版的默认策略并find相应的文件夹。 / var / www / cgi-bin可能是其中之一,或者可能是系统范围的目录,如/ usr / local / bin等