从 PHP 站点执行 python 脚本——我需要 Django 吗?可以在 raspberry pi 上完成吗?

Executing python script from a PHP site -- do I need Django? Can it be done on a raspberry pi?

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

具体来说,我希望能够从PHP 站点 执行某些python 脚本。我希望它像按字面意思一样简单。

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

我什至制作了一张小图片来直观地表示我的程序,以防我的解释不够好:

如果您的服务器允许 shell_exec 功能,您可以通过 Bash 将其用于 运行 您的 Python 脚本。 shell_exec returns bash 调用的输出。您唯一需要确保的是 shell_exec 在您服务器的 php.ini 文件中没有被禁用(查找行 disable_functions shell_exec).

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

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

不,你根本不需要 django。

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

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

那么,在你PHP这边,你真正需要的是exec:

<?php

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

?>