当我尝试通过PHP前端运行python脚本时遇到问题,我尝试了以下两种方法:
$command = "(python3 /my/script.py --params) 2>&1";
$output = shell_exec($command);
和
ob_start();
passthru($command);
$output = ob_get_clean();
两次返回:
Traceback (most recent call last): File "/my/script.py", line 14, in from woocommerce import API ModuleNotFoundError: No module named 'woocommerce'
通过CLI运行时,脚本可以正常工作,但通过PHP运行时,会抛出上述错误。这条线给我问题。茫然为什么它可以在一个实例中找到模块,而在另一个实例中找不到。
from woocommerce import API
from wordpress_json import WordpressJsonWrapper
答案 0 :(得分:0)
看来您的woocommerce
模块未正确安装在系统中。在CLI中运行脚本时可以找到该脚本,但是当控制您的PHP实例的系统用户启动该脚本时,woocommerce
模块不存在。这表示此模块仅为您的普通CLI用户安装,而不是在系统中全局安装。
直接的解决方案是全局安装woocommerce
模块,以便其他用户(包括运行PHP的系统用户)可以找到它。