Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP在proc_打开的情况下执行两个C程序_Php_Proc Open - Fatal编程技术网

PHP在proc_打开的情况下执行两个C程序

PHP在proc_打开的情况下执行两个C程序,php,proc-open,Php,Proc Open,我用C语言创建了两个程序。第一个程序得到一个数字并打印它的两倍值,第二个程序打印它的四倍值

我用C语言创建了两个程序。第一个程序得到一个数字并打印它的两倍值,第二个程序打印它的四倍值<我想执行它们 通过PHP。我已经用proc_open完成了,如果每次只执行其中一个程序,效果会很好<我得给电话号码 并将其输出作为输入传递给第二个程序。虽然我使用两个proc_open来创建这两个进程,但整个过程都不起作用。 我想做的是这样的:

$process1 = proc_open($command_exe1, $descriptorspec1, $pipes1, $cwd);
$process2 = proc_open($command_exe2, $descriptorspec2, $pipes2, $cwd);
fwrite($pipes1[0], $posted);
fwrite($pipes2[0], $pipes1[1]);
fclose($pipes1[0]);
fclose($pipes2[0]);
while(!feof($pipes1[1])) {
                $StdOut1 = stream_get_contents($pipes1[1]);
                }
        echo $StdOut1;
while(!feof($pipes2[1])) {
                $StdOut2 = stream_get_contents($pipes2[1]);
                }
        echo $StdOut2;
fclose($pipes1[1]);
fclose($pipes2[1]);

proc_close($process1);
proc_close($process2);
我知道这是一种错误的做法,但我想不出任何其他办法,所以…欢迎任何帮助。
注意:我正在Windows上工作。

如果进程可以一个接一个单独运行

你可以试着“分步走”


吹毛求疵:没有“c脚本”这样的东西。在第一个参数之后,你的第二个proc_open调用中也有一个拼写错误,missing,`我指的是C代码,简单的C程序。至于“,”和“;”在这些行的末尾,在复制过程中可能是一个错误。问题是,如果我想在每个程序中有两个不工作的输入和输出。我的意思是,每个代码可以得到2个数字,并打印它们的双精度/双精度。
/** step 1*/
$process1 = proc_open($command_exe1, $descriptorspec1, $pipes1, $cwd)
...
while(!feof($pipes1[1])) {
                $StdOut1 = stream_get_contents($pipes1[1]);
                }
        echo $StdOut1;


/** step 2*/

$process2 = proc_open($command_exe2 $descriptorspec2, $pipes2, $cwd)
while(!feof($pipes2[1])) {