Apache日志显示在php中调用时paho.mqtt.client不存在,但我可以通过ssh启动py脚本

Apache日志显示在php中调用时paho.mqtt.client不存在,但我可以通过ssh启动py脚本,php,python,apache,Php,Python,Apache,我有一个简单的Python脚本,它发布一些MQTT静态数据进行测试。当我在终端呼叫它时,它工作得很好。它是Ubuntu 18但是当我在php中用shell_exec(“python mqttpub.py”)调用python脚本时Apache2日志显示我导入错误:没有名为paho.mqtt.client的模块 我尝试使用其他一些python脚本,只返回sys stat和import sys,这不会在日志中抛出错误,并且可以正常工作 Python代码: #!/usr/bin/python impo

我有一个简单的Python脚本,它发布一些MQTT静态数据进行测试。当我在终端呼叫它时,它工作得很好。它是Ubuntu 18但是当我在php中用
shell_exec(“python mqttpub.py”)调用python脚本时Apache2日志显示我
导入错误:没有名为paho.mqtt.client的模块

我尝试使用其他一些python脚本,只返回sys stat和import sys,这不会在日志中抛出错误,并且可以正常工作

Python代码:


#!/usr/bin/python
import paho.mqtt.client as mqtt

def main():    
    publishall()

def publishall():
    broker_address="localhost" 
    client = mqtt.Client("P1") #create new instance
    client.connect(broker_address) #connect to broker
    client.publish("sensor/temperature_celsius", "35")#publish

main()
PHP代码:mqtt.PHP

<?php
    session_start();

    $action = $_POST['action'];

    switch ($action) {
        case "posttemp":
        posttemp();
            break;
    }   

    function posttemp () {
        $res = array();
        $res["resultmsg"] = "Temptest ok";
        $res["temp"] = $_POST['temp'];
        $output = shell_exec("python mqttpub.py");
        $res["py"] = $output;
        echo json_encode($res);
    }
?>

我怎样才能解决这个问题