无法在文件python中回显值

时间:2017-06-08 07:44:02

标签: php python

例如,我有一个文件python

work1.py

from time import sleep
while True:
    print "Send 1"
    sleep(2)
    print "Send 2"
    sleep(2)

我有一个文件php通过shell_exec函数运行文件python

 <?php
$result=shell_exec("sudo python work1.py");
echo $result;
?>

但是当我跑步时,没有任何显示。那有什么问题呢?请帮我。感谢。

4 个答案:

答案 0 :(得分:2)

$result=shell_exec(sudo python work1.py);

我认为这里会出现语法错误,您可以尝试:

$result=shell_exec('sudo python work1.py');

答案 1 :(得分:0)

试试这样:

<?php
$result= shell_exec(sudo /usr/bin/python3 work1.py);
echo $result;
?>

答案 2 :(得分:0)

为什么脚本会返回一些值? 你的python语句将继续执行。 在脚本中添加break语句

from time import sleep
while True:
    print "Send 1"
    sleep(2)
    print "Send 2"
    sleep(2)
    break

PHP代码

<?php
    $result=shell_exec('sudo python work1.py');
    echo $result;
    ?>

答案 3 :(得分:0)

我认为'sudo'命令可能会尝试提示您输入密码,但是在通过PHP调用时无法输入密码。尝试删除'sudo',也许它会起作用。

如果您需要root用户在Python脚本中执行某项任务,请考虑使用setuid标志, http://linuxg.net/how-to-set-the-setuid-and-setgid-bit-for-files-in-linux-and-unix/