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

标签 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); print "</pre>";
echo "Return Value:<hr />";
echo $rval;
?>

我也试过显式设置可执行文件的二进制路径。测试脚本是与 apache 相同的用户/组。我也尝试将 2>&1 添加到 arg,但没有看到任何变化。提前谢谢你。

参见 here for similar.

最佳答案

尝试

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

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

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

关于PHP exec/shell_exec/system 无法通过浏览器工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5305849/

相关文章:

c++ - 在 Qt creator 中运行系统命令

由 sql 行组成的 PHP 数组进行 json_encode

php - 很难从两个表中获取数据

apache - 如何在 Apache 2.0 中以毫秒精度对请求日志进行时间戳

apache - 将Apache升级到2.4后,内部URL重写不再起作用

java - 如何使用 Apache httpclient 获取自定义 Content-Disposition 行?

php - 异步PHP?

C# 取消 Windows 关机

javascript - 在 Javascript 警告框中的新行中显示 PHP 数组的每个条目

php - nginx 拒绝访问 .log 文件扩展名