gpt4 book ai didi

PHP脚本无法正确运行python脚本,但它在终端上正确运行

转载 作者:行者123 更新时间:2023-11-30 09:39:56 25 4
gpt4 key购买 nike

所以我有一个 php 脚本,在其中我从应用程序发送所需的数据,然后在 php 脚本中,该数据作为命令行参数传递给 python 脚本。问题是当我从终端运行 python 脚本时,它运行成功,但是当我使用 postman 运行 PHP 脚本时,python 脚本不运行。


<code>$output = shell_exec("python3 final.py $day $month $year $hour 2>&1");</code>
这是我调用 py 脚本的行,当我从终端运行相同的脚本时,它会生成输出,但是当我像这样运行它并转储 $output 时,我收到错误

<code>ModuleNotFoundError: No module named 'sklearn'</code>

但是 sklearn 已经安装,并且它通过终端运行。

请建议我对此问题该怎么办?

最佳答案

现在它可以工作了,以 sudo 身份运行命令并使用 exec() 而不是 shell_exec() 并且还更改了执行命令的用户,请引用此https://raspberrypi.stackexchange.com/a/78156 .

您可能需要绕过用户密码,绕过 www-data看到这个https://stackoverflow.com/a/24107529/10498074

另请参阅同一页面上的 Jenkins 答案 https://stackoverflow.com/a/24648413/10498074

我的最终命令是 $output = exec("sudo -S -u username/usr/bin/python3/var/www/html/PathTo/final.py $day $month $year $hour 2> &1");

在 sudo visudo 中,我在最后一行添加了命令 www-data ALL =(ALL) NOPASSWD:/usr/bin/python3

尝试再次运行 php 脚本,它成功了!

关于PHP脚本无法正确运行python脚本,但它在终端上正确运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59471352/

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