在浏览器和终端中执行时,exec()命令的不同输出

时间:2020-06-13 11:09:49

标签: python php

非常奇怪的是,当在终端中执行时,它可以正常运行,但不能通过浏览器触发。通过exec执行的python脚本只是将作业推送到RMQ,并返回推送的文档/键(作业)。 在显示终端时,浏览器不会显示按下的那些键。请查看下面的输出数组:

通过浏览器执行时:

(
    [0] => > -rerun
    [1] => > -status
    [2] => > -companies
    [3] => > -websites
    [4] => > -searchstring
    [5] => > -queue
    [6] => > -followrule
    [7] => {'command args'}
)

但是通过终端执行时:

(
    [0] => > -rerun
    [1] => > -status
    [2] => > -companies
    [3] => > -websites
    [4] => > -searchstring
    [5] => > -queue
    [6] => > -followrule
    [7] => {'command args'}
    [8] => Çompany Keys: 4
    [9] => Websites Keys: 4
    [10] => Search Keys: 4
    [11] => Total No. Of Jobs: 1
    [12] => [x] Sent:_id 'doc_id'
    [13] => Rerun: ranks - 1
)

在终端上,作业被推送到RMQ,但通过浏览器触发时未推送。

编辑:添加了代码

<?php
   $command = "sudo -u ronald /opt/env3/bin/python3 script.py";
   exec($command,$output,$return);

   echo "<pre>";
     print_r($output);
   echo "</pre>";
?>  

0 个答案:

没有答案