gpt4 book ai didi

php - 从 Php 执行 Python 脚本

转载 作者:太空狗 更新时间:2023-10-29 17:58:35 25 4
gpt4 key购买 nike

我的树莓派上有一个 PHP 网页,有 2 个按钮(打开和关闭)打开按钮按钮重定向到 On.php关闭按钮重定向到 Off.php在“/usr/lib/cgi-bin”中,我有一个我想执行的 python 脚本 (script.py)我可以通过键入从终端完美地执行它

cd /usr/lib/cgi-bin
sudo python script.py

如果我从终端执行它,它会起作用。

问题出在我的“/var/www”文件夹中的 PHP 文件 (On.php)。这是我写的:

<?php
exec('cd /usr/lib/cgi-bin');
exec('sudo python script.py');
?>

为什么脚本是从终端执行的,而不是从我的 PHP 执行的?

最佳答案

您不能在 PHP 脚本中使用 sudo。 Apache 正在从一个用户(www-data generaly)运行,所以编辑这个文件:/etc/sudoers

然后添加这一行:

www-data ALL=(ALL) NOPASSWD:ALL

关心!这将授权所有函数由 PHP 脚本调用,您可以通过脚本或 Python 命令调整更改“ALL”。

然后在您的 exec 命令中精确指定您的用户:

<?php
exec('sudo -u www-data python /usr/lib/cgi-bin/script.py')

关于php - 从 Php 执行 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31811253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com