我知道这个网站已被多次询问和回答,但我仍然遇到了一些麻烦。
来自bash的: sudo python test1.py blue
test1.py
import sys
who = sys.argv[1]
print sys.argv[1]
print who
输出: 蓝色 蓝色
来自PHP的
$ledcolor = "0,255,0";
$result = exec("sudo python test1.py blue");
$result = exec("sudo python test1.py" . $ledcolor);
$result = exec('sudo python test1.py' . $ledcolor);
$result = exec('sudo python test1.py blue');
所有结果都没有来自python的输出 我也尝试过在PHP中使用相同(无)结果的shell_exec。
$result = exec("sudo python test1.py blue" . $ledcolor);
echo "\n";
print $result;
我做错了什么?
答案 0 :(得分:0)
在php中,exec
函数通过引用传递的参数传递其完整输出:
$out = '';
$cmd = exec('/bin/somecommand some parameters', $out);
echo $out;
$cmd
保存exec调用的返回状态,而不是输出。
答案 1 :(得分:0)
您可以使用shell_exec
代替exec
或``。
$result = `sudo python test1.py blue`;