我正在开发一个利用Python脚本从MySQL数据库中提取信息的程序。 MySQL数据库是从PHP站点界面管理的(因此HTML表单和按钮等)。我把这一切都设置在覆盆子pi上并且它有效。但我想添加更多功能。
具体来说,我希望能够从PHP站点执行某些python脚本。我希望它简直就像按一下按钮一样简单。
这是我应该使用Django的场景吗?我之前从未使用它,但已经阅读了它如何将Python与网络连接起来。我找到了类似问题的答案,但我想知道如果我需要在我的apache服务器上设置任何特殊内容:https://stackoverflow.com/a/31811462/5609876
我甚至为我的节目的视觉表现做了一些小图片,因为我的解释不够好:
答案 0 :(得分:3)
不,你根本不需要django。
如果您只想从PHP执行Python脚本 - 假设您已编写脚本并将其存储在某处:
首先,将Python脚本的执行权限分配给运行PHP代码的用户。通常,这是运行Apache的用户。通常这称为www-data
或apache
或类似的东西。该用户将列在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'); ?>