我认为我不想使用exec
或shell_exec
但我需要在PHP脚本中运行Linux命令。我在项目中使用Symfony框架。
我必须使用ls -la
列出目录。
答案 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发出直接命令要好。