例如,我有一个文件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;
?>
但是当我跑步时,没有任何显示。那有什么问题呢?请帮我。感谢。
答案 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/