我正在尝试从php执行py文件 这是我的代码:
//usage python my.py var1 var2
$libre = 'python ../../../../root/py/my.py '.$var1.' '.$var2.'';
$cleanlibre = escapeshellarg($libre);
echo exec($cleanlibre);
有什么问题? 为什么一无所获?
我还需要知道如何安全执行exec。感谢。
- 编辑 -
使用passthru
$libre = 'python ../../../../root/py/mech.py '.$var1.' '.$var2.'';
$cleanlibre = escapeshellarg($libre);
passthru($cleanlibre, $result);
echo $result;
//returned 127 <- i don't know where thats from.
答案 0 :(得分:2)
escapeshellarg
只能用于转义参数,而不是整个命令。
//usage python my.py var1 var2
$libre = 'python ../../../../root/py/my.py '.escapeshellarg($var1).' '.escapeshellarg($var2).'';
echo exec($libre );
答案 1 :(得分:0)
exec在函数的第二个参数中返回结果,请参阅http://php.net/manual/en/function.exec.php