3

我正在运行一个带有 apache 版本 1.3.33 和 PHP 版本 4.4 的 SCO Unix 机器。我可以通过 cli 正确执行 exec 命令,但是在尝试通过浏览器执行脚本时遇到了麻烦。我的设置是:

  • 安全模式关闭
  • 完整的读/写/执行权限
  • 显示所有错误
  • 没有禁用的功能

我的代码:htdocs 目录中的 test_script.php

<?php
exec('ls',$out,$rval);
echo "Output:<hr />";
print "<pre>"; print_r($out); print "</pre>";
echo "Return Value:<hr />";
echo $rval;
?>

我也尝试过明确设置可执行二进制路径。测试脚本与 apache 的用户/组相同。我也尝试将 2>&1 添加到 arg 中,但没有看到任何变化。先感谢您。

类似的请参见此处。

4

2 回答 2

6

尝试

$output = shell_exec('ls /tmp/ 2>&1')

您可能对运行网页的用户的当前目录的权限有问题。

你也可以试试whoami命令。

于 2011-03-20T18:20:30.270 回答
0

有时这些功能被禁用,您必须在 php.ini 中启用它们

于 2013-03-27T01:01:49.603 回答