2>&1在这个php片段中做了什么?

cad*_*alt 0 php linux exec

关于这段代码

public function invoke($url)
{
    exec('wget 2>&1', $output);
    print_r($output);
}
Run Code Online (Sandbox Code Playgroud)

什么是2>&1这个命令吗?我在SO上发现了这个,但2>&1没有解释

wget是一个linux命令,我正在使用PHP运行它exec().

上面的代码有效.我只需要$url在正确的位置插入并理解2>&1.

相关链接

关于Wget的GNU文档

Bla*_*aat 5

你有几个输出流.
最常见的两种是STDOUT(标准输出)和STDERR(错误输出).

通常只能看到STDOUT输出.有了exec这也是它捕获的唯一流.

现在:该命令2>&1意味着您将输出到STDERR的输出传递给与正常输出相同的输出.在这种情况下,PHP的exec函数(但主要是你的shell).

这主要用于你想要守护你的应用程序,并将所有输出发送到/ dev/null,但它也可以用于这种情况(你可以用PHP查看所有内容).