关于此代码
public function invoke($url)
{
exec('wget 2>&1', $output);
print_r($output);
}
2>&1
在此命令中执行了什么操作?我在SO上找到了这个,但2>&1
没有解释
wget
是一个linux命令,我使用exec()
从PHP运行它。
上面的代码有效。我只需要将$url
插入正确的位置,然后了解2>&1
。
相关链接
答案 0 :(得分:5)
您有多个输出流 最常见的两种是STDOUT(标准输出)和STDERR(错误输出)。
通常您只看到STDOUT输出。使用exec
,这也是它捕获的唯一流。
现在:命令2>&1
意味着您将输出到STDERR的输出传递给与正常输出相同的输出。在这种情况下,PHP的exec函数(但主要是你的shell)。
这主要用于你想要守护你的应用程序,并将所有输出发送到/ dev / null,但它也可以用于这种情况(你可以用PHP查看所有内容)。