0

我正在处理我的一个项目。我在我的 Windows 机器上使用 XAMPP 来开发项目。这是我面临的问题。我需要在服务器上执行一个 shell 脚本并在网页上显示结果。问题是大多数脚本都按预期运行,但我无法获得以下命令的输出,

ls, 猫, 密码

因为这些命令返回给我一个空白数组。

我无法找到确切的问题。

4

2 回答 2

1

这不是您问题的直接答案,但我觉得指出ls,cat和的功能pwd可以在 PHP 中模拟很重要,所以如果您所做的只是调用这些命令并将结果传递回 PHP ,那么调用它们可能没有任何意义。

ls是一个目录列表。PHP 提供了一个名为的类DirectoryIterator,只需几行代码就可以做到这一点:

一个例子:

$iterator = new DirectoryIterator($directory);
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isFile()) {
        print "File: ".$fileinfo->getFilename();
    }
}

pwd获取当前目录。PHP 有一个内置函数getcwd(),可以在一行代码中执行此操作。

cat将文件(和管道)打印到输出缓冲区。这可能也可以在 PHP 中完成。cat有时用于一些您可能希望保留在 shell 中的相当复杂的命令行内容。但是对于简单的东西(甚至是中等复杂的东西),PHP 完全可以胜任。

了解更多关于您想要实现的目标会有所帮助,但我相信 PHP 能够完成听起来像您正在做的事情,而无需使用 shell。

希望有帮助。

于 2012-08-22T22:05:33.110 回答
0

使用passthru()而不是exec().

于 2012-08-22T21:50:29.420 回答