非常奇怪的是,当在终端中执行时,它可以正常运行,但不能通过浏览器触发。通过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>";
?>