我正在处理我的一个项目。我在我的 Windows 机器上使用 XAMPP 来开发项目。这是我面临的问题。我需要在服务器上执行一个 shell 脚本并在网页上显示结果。问题是大多数脚本都按预期运行,但我无法获得以下命令的输出,
ls, 猫, 密码
因为这些命令返回给我一个空白数组。
我无法找到确切的问题。
这不是您问题的直接答案,但我觉得指出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。
希望有帮助。
使用passthru()
而不是exec()
.