从 PHP 站点执行 python 脚本——我需要 Django 吗?可以在树莓派上完成吗? [关闭]

Posted

技术标签:

【中文标题】从 PHP 站点执行 python 脚本——我需要 Django 吗?可以在树莓派上完成吗? [关闭]【英文标题】:Executing python script from a PHP site -- do I need Django? Can it be done on a raspberry pi? [closed] 【发布时间】:2016-06-28 05:47:54 【问题描述】:

我正在开发一个程序,该程序利用 Python 脚本从 mysql 数据库中提取信息。 MySQL 数据库由 php 站点界面管理(因此 html 表单和按钮等)。我在树莓派上设置了这一切,它可以工作。但我想添加更多功能。

特别是我希望能够从 PHP 站点执行某些 python 脚本。我希望它像按下按钮一样简单。

这是我应该使用 Django 的场景吗?我以前从未使用过它,但读过它如何将 Python 与网络连接起来。我找到了一个类似问题的答案,但我想知道是否需要在我的 apache 服务器上设置任何特别的东西:https://***.com/a/31811462/5609876

我什至为我的程序制作了一张小图,以防我的解释不够好:

【问题讨论】:

【参考方案1】:

不,你根本不需要 django。

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

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

那么,在您的 PHP 方面,您真正需要的只是 exec:

<?php

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

?>

【讨论】:

如何授予用户对 Python 脚本的执行权限? chmod u+x /the/path/to/script.py 完美!非常感谢:)【参考方案2】:

如果您的服务器上允许使用 shell_exec 函数,您可以使用它通过 Bash 运行您的 Python 脚本。 shell_exec 返回 bash 调用的输出。您唯一需要确定的是 shell_exec 没有在您的服务器的 php.ini 文件中被禁用(查找行 disable_functions shell_exec)。

如果你的python脚本叫做mypythonscript.py并且和PHP文件在同一个目录下,你可以这样运行它:

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

【讨论】:

我可以从 PHP 向 bash 发送命令吗? 对不起,是的。我刚刚添加了这个命令的使用示例。

以上是关于从 PHP 站点执行 python 脚本——我需要 Django 吗?可以在树莓派上完成吗? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

使用 html 实体执行跨站点脚本

从 php 执行的 python 脚本给出错误

在共享主机中使用系统从 php 执行 python 脚本时显示错误(显示其他输出)

从 Apache Laravel PHP 控制器在 Raspberry PI 上执行 python 脚本

带有 MySql 数据库的动态 PHP 网站;如何为此创建站点地图?

从php.in windows调用python脚本