我正在处理我的一个项目。我在我的Windows机器上使用XAMPP来开发项目。 这是我面临的问题。我需要在服务器上执行shell脚本并在网页上显示结果。问题是大部分脚本按预期运行但我无法获得以下命令的输出,
ls,cat,pwd
因为这些命令会给我一个空白数组。
我无法找到确切的问题。
答案 0 :(得分: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。
希望有所帮助。
答案 1 :(得分:0)
使用passthru()
代替exec()
。