使用PHP exec执行命令

时间:2012-08-22 21:48:27

标签: php shell exec

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

  

ls,cat,pwd

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

我无法找到确切的问题。

2 个答案:

答案 0 :(得分:1)

这不是您问题的直接答案,但我觉得必须指出lscatpwd的功能可以在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()