我正在尝试使用exec()运行命令行util但它不会返回任何内容。我在php.net上看到,需要设置cmd.exe的权限以允许iis用户运行它。我无法使用我能想到的任何方法来做到这一点。 cacls icacls和标准安全屏幕不起作用。我正在将输出记录到mysql数据库。
我的代码如下:
$Ret = array();
$err = "";
exec("dir", $Ret, $err);
在db中获取$ Ret
的数组命令出现问题,我对此表示怀疑,或者我需要以某种方式设置权限。
请帮忙。
答案 0 :(得分:0)
更改行:
exec("dir", $Ret, $err);
为:
$r = exec("dir", $Ret, $err);
echo $r;
您需要将exec
的返回值捕获到变量中,然后再渲染它。
或试试这个:
<?php
$a = array();
$e = "";
echo "exec'ing<br/>";
$r = exec("dir", $a, $e);
echo "var_dumping<br/>";
var_dump($a);
echo "=====================\n";
var_dump($e);
echo "=====================\n";
var_dump($r);
?>
如果您在关闭了xdebug的浏览器中运行此功能,那么您可能需要使用view-source查看结果。