PHP exec()函数windows 7 IIS 7.5

时间:2012-07-03 21:31:07

标签: php iis

我正在尝试使用exec()运行命令行util但它不会返回任何内容。我在php.net上看到,需要设置cmd.exe的权限以允许iis用户运行它。我无法使用我能想到的任何方法来做到这一点。 cacls icacls和标准安全屏幕不起作用。我正在将输出记录到mysql数据库。

我的代码如下:

$Ret = array();
$err = "";
exec("dir", $Ret, $err);

在db中获取$ Ret

的数组

命令出现问题,我对此表示怀疑,或者我需要以某种方式设置权限。

请帮忙。

1 个答案:

答案 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查看结果。