我怎样才能在PHP中使用exec与Symfony

时间:2018-01-18 23:56:08

标签: php symfony exec

我认为我不想使用execshell_exec但我需要在PHP脚本中运行Linux命令。我在项目中使用Symfony框架。

我必须使用ls -la列出目录。

2 个答案:

答案 0 :(得分:2)

Symfony有一个Process组件来处理本机系统调用。

请参阅:https://symfony.com/doc/current/components/process.html

来自文档的示例:

use Symfony\Component\Process\Process;
use Symfony\Component\Process\Exception\ProcessFailedException;

$process = new Process('ls -la');
$process->run();

// executes after the command finishes
if (!$process->isSuccessful()) {
    throw new ProcessFailedException($process);
}

echo $process->getOutput();

答案 1 :(得分:2)

Symfony有Filesystem Component用于处理文件和目录。但是,它无法列出目录中的文件。 PHP内置的scandir函数可以为您完成。这比向OS发出直接命令要好。