从PHP站点执行python脚本 - 我需要Django吗?可以在覆盆子pi上完成吗?

时间:2016-03-13 04:11:25

标签: php python mysql django raspberry-pi2

我正在开发一个利用Python脚本从MySQL数据库中提取信息的程序。 MySQL数据库是从PHP站点界面管理的(因此HTML表单和按钮等)。我把这一切都设置在覆盆子pi上并且它有效。但我想添加更多功能。

具体来说,我希望能够从PHP站点执行某些python脚本。我希望它简直就像按一下按钮一样简单。

这是我应该使用Django的场景吗?我之前从未使用它,但已经阅读了它如何将Python与网络连接起来。我找到了类似问题的答案,但我想知道如果我需要在我的apache服务器上设置任何特殊内容:https://stackoverflow.com/a/31811462/5609876

我甚至为我的节目的视觉表现做了一些小图片,因为我的解释不够好:

enter image description here

2 个答案:

答案 0 :(得分:3)

不,你根本不需要django。

如果您只想从PHP执行Python脚本 - 假设您已编写脚本并将其存储在某处:

首先,将Python脚本的执行权限分配给运行PHP代码的用户。通常,这是运行Apache的用户。通常这称为www-dataapache或类似的东西。该用户将列在Apache配置文件中。

然后,在您的PHP方面,您真正需要的只是exec

<?php

    exec('/path/to/python /path/to/your/script.py')

?>

答案 1 :(得分:1)

如果服务器上允许shell_exec功能,您可以使用它通过Bash运行Python脚本。 shell_exec返回bash调用的输出。您必须确保的唯一事项是在您的服务器的php.ini文件中禁用shell_exec(查找行disable_functions shell_exec)。

如果您的python脚本被称为mypythonscript.py并且与PHP文件位于同一目录中,您可以像这样运行它:

<? shell_exec('python mypythonscript.py'); ?>