关于这段代码
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.
相关链接
你有几个输出流.
最常见的两种是STDOUT(标准输出)和STDERR(错误输出).
通常只能看到STDOUT输出.有了exec这也是它捕获的唯一流.
现在:该命令2>&1意味着您将输出到STDERR的输出传递给与正常输出相同的输出.在这种情况下,PHP的exec函数(但主要是你的shell).
这主要用于你想要守护你的应用程序,并将所有输出发送到/ dev/null,但它也可以用于这种情况(你可以用PHP查看所有内容).