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

问题描述 投票:0回答:1

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

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

$output = shell_exec("python3 final.py $day $month $year $hour 2>&1");

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

请提示我该问题该怎么办?

php python machine-learning scikit-learn postman
1个回答
0
投票

因此,它现在可以正常工作,以sudo身份运行命令并使用ModuleNotFoundError: No module named 'sklearn'而不是ModuleNotFoundError: No module named 'sklearn',并且还更改了用户以执行命令,请参考此exec()

您可能需要绕过用户的密码,而绕过www-data看到这个shell_exec()

另请参见同一页面上的詹金斯答案https://raspberrypi.stackexchange.com/a/78156

我的最终命令是https://stackoverflow.com/a/24107529/10498074

并且在sudo visudo中,我在最后一行https://stackoverflow.com/a/24648413/10498074中添加了命令

试图再次运行php脚本,并且成功了!

© www.soinside.com 2019 - 2024. All rights reserved.