-1

我正在尝试从 php.ini 执行一个 py 文件。
这是我的代码:

//usage python my.py var1 var2
$libre = 'python ../../../../root/py/my.py '.$var1.' '.$var2.'';
$cleanlibre = escapeshellarg($libre);
echo exec($cleanlibre);

怎么了?为什么什么都不返回?

我还需要知道如何很好地保护 exec。谢谢。

- 编辑 -

使用过的通路

$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.
4

2 回答 2

2

escapeshellarg只能用于转义参数,而不是整个命令。

//usage python my.py var1 var2
$libre = 'python ../../../../root/py/my.py '.escapeshellarg($var1).' '.escapeshellarg($var2).'';
echo exec($libre );
于 2012-11-27T15:12:24.797 回答
0

exec 在函数的第二个参数中返回结果,请参见http://php.net/manual/en/function.exec.php

于 2012-11-27T15:09:42.407 回答