Php 将stdout和stderr导入同一管道

Php 将stdout和stderr导入同一管道,php,Php,我想以非阻塞的方式在PHP中调用一个子进程,并将stdout和stderr都指向同一个管道,以便stdout和stderr上的行按照它们的生成顺序一起显示,就像在控制台上执行一样 将两者都指向临时文件是非常不可取的 该进程是单线程的,因此不需要同时调用write()。当然,我希望捕获进程的输出。除了pcntl\u fork()和pcntl\u exec()之外,在PHP中启动进程的所有函数都将在shell中启动命令。使用: 表达式2>&1将文件描述符2(stderr)重定向到文件描述符1(std

我想以非阻塞的方式在PHP中调用一个子进程,并将stdout和stderr都指向同一个管道,以便stdout和stderr上的行按照它们的生成顺序一起显示,就像在控制台上执行一样

将两者都指向临时文件是非常不可取的


该进程是单线程的,因此不需要同时调用write()。当然,我希望捕获进程的输出。

除了
pcntl\u fork()
pcntl\u exec()
之外,在PHP中启动进程的所有函数都将在shell中启动命令。使用:

表达式
2>&1
将文件描述符
2
(stderr)重定向到文件描述符
1
(stdout)

echo shell_exec('command 2>&1');