因此,我有一个php脚本,在该脚本中,我从应用程序发送了所需的数据,然后在php脚本中,该数据作为命令行参数传递给python脚本。问题是当我从终端运行python脚本时,它运行成功,但是当我使用邮递员运行PHP脚本时,python脚本无法运行。
这是我调用py脚本的行,当我从终端运行py脚本时,它会生成输出,但是当我像这样运行它并转储$ output时,会出现错误$output = shell_exec("python3 final.py $day $month $year $hour 2>&1");
$output = shell_exec("python3 final.py $day $month $year $hour 2>&1");
但是sklearn已经安装,并且可以通过终端运行。
请提示我该问题该怎么办?
因此,它现在可以正常工作,以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脚本,并且成功了!