2017-09-26 65 views
0

我知道這個問題已經被問及在這個網站上無數次的回答,但我仍然有一些麻煩。 須藤蟒test1.py藍色將值從php傳遞到python

test1.py

import sys 
 
who = sys.argv[1] 
 
print sys.argv[1] 
 
print who

輸出:: 藍色 藍色

從PHP

從bash的

$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');

所有結果中沒有輸出蟒蛇 我自己也嘗試了shell_exec PHP中的相同(無)的結果。

$result = exec("sudo python test1.py blue" . $ledcolor); 
 
    echo "\n"; 
 
    print $result;
PHP輸出= blue0,255,0

我究竟做錯了什麼?

+2

您打印過'$ result'嗎? –

+0

回聲只有變量我更新與代碼和結果的主要職位 – jointtech

回答

0

在PHP中,所述exec功能經由通過引用傳遞一個參數傳送其全輸出:

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

$cmd保持exec調用,而不是輸出的返回狀態。

編號:http://php.net/manual/en/function.exec.php

0

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

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