ssh2_exec: aguarde o fim de um processo para executar em seguida

Estou executando um comando usando ssh2_exec, mas parece que ele executa o $ stream2 antes do final do processo $ stream1. Como faço para executar $ stream2 somente após o final de $ stream1?

 

Problema resolvido:

@Barmar me propôs olhar para php.net/manual/en/function.ssh2-exec.php#59324

Resolvi o problema por:

  

O fato de que o bloqueio não está habilitado por padrão é estúpido. É por isso que eu gosto do SSH por phpseclib muito melhor. As coisas funcionam como esperado com o phpseclib. por exemplo.

 login('username', 'password'); $output = $ssh->exec('command to run'); $ssh->exec('command to run 2'); ?> 

Leia tudo a partir do primeiro stream. Quando terminar, você sabe que o comando está pronto.

 $stream1= ssh2_exec($connection, 'command to run'); stream_get_contents($stream1); // Wait for command to finish fclose($stream1); $stream2 = ssh2_exec($connection, 'command to run 2');