나는 C로 두 개의 프로그램을 만들었습니다. 첫 번째는 숫자를 가져 와서 두 번째 값을 출력하고 두 번째 값은 네 번째 값을 출력합니다.
PHP를 통해 을 실행하고 싶습니다. 나는 proc_open을 사용하여이 작업을 수행했으며 매번 한 번만 프로그램을 실행하면 제대로 작동합니다.
첫 번째 프로그램에 번호를 부여하고 그 출력을 두 번째 프로그램의 입력으로 전달해야합니다. 두 개의 프로세스를 생성하기 위해 두 개의 proc_open을 사용하더라도 모든 것이 작동하지 않습니다. 내가 원하는 무엇 이 같은 것입니다 :두 개의 C 프로그램을 proc_open과 함께 실행하는 PHP
$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에서 작업하고 있습니다.
nitpick : 같은 건은 "C 스크립트로이 없다 ". 당신은 또한 두 번째 proc_open 호출에 오타가 있습니다. 첫 번째 인수 다음에'가 없습니다. –
나는 C 코드, 간단한 C 프로그램을 의미한다. ','및 ';' 줄 끝 부분에서 복사하는 동안 실수 일 수 있습니다. – georgia