PHP exec/shell_exec/system无法通过浏览器工作

PHP exec/shell_exec/system无法通过浏览器工作,php,apache,system,exec,shell-exec,Php,Apache,System,Exec,Shell Exec,我正在运行一个带有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)

我正在运行一个带有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,但没有看到任何更改。先谢谢你

请参见试一试

运行网页的用户对当前目录的权限可能存在问题


您也可以尝试使用
whoami
命令。

有时这些函数被禁用,您必须在php.ini中启用它们。

脚本的输出是什么?@mario,是的,我已尝试显式设置路径。@AbiusX,浏览器中的输出是空数组。返回值为1。请注意,PHP开发人员自己在几年前就停止支持PHP4了,Apache 1.3实际上是史前版本。如果您还不知道您使用SCO Unix时处于石器时代,请将此作为适当的通知:你能试试看会发生什么吗?使用起来很复杂,但文档中有一个很好的例子,应该对您有用。
$output = shell_exec('ls /tmp/ 2>&1')