从 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-data
或 apache
或类似的东西。该用户将列在 Apache 配置文件中。
那么,在你PHP这边,你真正需要的是exec
:
<?php
exec('/path/to/python /path/to/your/script.py')
?>
我正在开发一个程序,该程序利用 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-data
或 apache
或类似的东西。该用户将列在 Apache 配置文件中。
那么,在你PHP这边,你真正需要的是exec
:
<?php
exec('/path/to/python /path/to/your/script.py')
?>