我有一个PHP脚本需要在chroot中执行多个命令。到目前为止,我刚刚这样做了:
exec( 'sudo chroot --userspec=user /path/to/chroot /path/to/command', $output );
但是,我开始怀疑执行这么多次是否真的是最有效的做事方式。也许更像是这样的事情:
$p = exec( 'sudo chroot --userspec=user /path/to/chroot /bin/bash' );
然后:
exec( $p, '/path/to/command', $output );
显然我知道这不会奏效。我现在已经看了proc_open
一段时间了,看起来很有希望,但我不能让它为我工作。
我想执行每个命令,然后捕获它的返回值和stdout上的任何输出。
我是在浪费时间,还是有适当的方法来实现这个目标?