将值从php传递给python

时间:2017-09-26 10:02:04

标签: php python

我知道这个网站已被多次询问和回答,但我仍然遇到了一些麻烦。

来自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;  
PHP输出= blue0,255,0

我做错了什么?

2 个答案:

答案 0 :(得分:0)

在php中,exec函数通过引用传递的参数传递其完整输出:

$out = '';
$cmd = exec('/bin/somecommand some parameters', $out);
echo $out;

$cmd保存exec调用的返回状态,而不是输出。

参考:http://php.net/manual/en/function.exec.php

答案 1 :(得分:0)

您可以使用shell_exec代替exec或``。

$result = `sudo python test1.py blue`;