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

时间:2015-07-07 12:04:18

标签: php linux exec

关于此代码

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

2>&1在此命令中执行了什么操作?我在SO上找到了这个,但2>&1没有解释

wget是一个linux命令,我使用exec()从PHP运行它。

上面的代码有效。我只需要将$url插入正确的位置,然后了解2>&1

相关链接

GNU Documentation on Wget

1 个答案:

答案 0 :(得分:5)

您有多个输出流 最常见的两种是STDOUT(标准输出)和STDERR(错误输出)。

通常您只看到STDOUT输出。使用exec,这也是它捕获的唯一流。

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

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

相关问题