Wiele danych wejściowych za pomocą proc_open ()

Obecnie pracuję nad programem online. Piszę skrypt php, który wykonuje polecenie w wierszu poleceń za pomocą proc_open () (pod Linux Ubuntu). To jest mój kod do tej pory:

<?php
$cmd = "./power";

$descriptorspec = array(
   0 => array("pipe", "r"),
   1 => array("pipe", "w"),
   2 => array("pipe", "w"),
);

$process = proc_open($cmd, $descriptorspec, $pipes);

if (is_resource($process)) {

    fwrite($pipes[0], "4");
    fwrite($pipes[0], "5");
    fclose($pipes[0]);

    while($pdf_content = fgets($pipes[1]))
    {
        echo $pdf_content . "<br>";
    }
    fclose($pipes[1]);

    $return_value = proc_close($process);
}
?>

moc to program, który 2 razy prosi o dane wejściowe (pobiera bazę i wykładnik i oblicza podstawę ^ wykładnik). Jest napisane w Zgromadzeniu. Ale kiedy uruchamiam ten skrypt, otrzymuję błędne dane wyjściowe. Moje dane wyjściowe to „1”, ale oczekuję 4 ^ 5 jako wyjścia.

Kiedy uruchamiam program, który pobiera jedno wejście, działa (przetestowałem łatwy program, który zwiększa wprowadzoną wartość o jeden).

Myślę, że brakuje mi czegoś w odniesieniu do polecenia fwrite. Czy ktoś mógłby mi pomóc?

Z góry dziękuję!

questionAnswers(1)

yourAnswerToTheQuestion